问题标签 [c2664]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
187 浏览

c++ - C2664 仅在发布配置中显示

我正在尝试构建一个用于发布的程序,但即使它在调试配置中运行良好,当我使用发布配置时出现此错误:

我尝试根据线程添加“#define _SECURE_SCL 0”行,但这并没有改变任何东西。

这是引发错误的行所在的程序部分(“DeleteFile(temp);”是引发错误的特定行):

PS我正在使用VS 2010 Premium。

0 投票
1 回答
1717 浏览

c++ - 错误 C2664:“发送”:无法将参数 2 从“ServerGreeting”转换为“const char *”

我是 C++ 的初学者,我正在将 C 代码(TWAMP RFC5357)移植到一个新项目(IPSLA RFC 6812)中,我遇到了这个问题:

当我尝试使用函数send时,我看到错误“error C2664: 'send' : cannot convert parameter 2 from 'ServerGreeting' to 'const char *'” “No user-defined-conversion operator available that can perform this conversion ,否则无法调用运算符”。

所以,我搜索了这个,我发现了一些我不明白的答案。

这是一些代码:

你能帮我解决这个问题吗?谢谢

0 投票
1 回答
87 浏览

c++ - 编译 64 位时由于 C++ C2664 处理向下转换的最佳实践

我有一个公开的方法,它接受一个 long* 作为这样的参数:

在这个方法中,我调用了一个接受 INT64* 的系统 API,如下所示:

编译为 x64 时,出现错误(正确):

我不想更改我公开的方法的签名,因为它会产生许多下游后果。假设我知道 p64 不会超过 long 的限制,那么解决这种情况的最佳方法是什么?

像这样的东西?

0 投票
2 回答
392 浏览

c++ - 错误 C2664:地图中的多地图

这是我的代码:

我收到错误 C2664:

看来我应该使用make_pair,所以我尝试这样:

但我仍然得到同样的错误。
我该怎么办?

0 投票
1 回答
835 浏览

c++ - 64 位平台上的编译器错误 C2664

我有一个在 Visual Studio 2012 中使用 win 32 平台编译和运行的程序。将平台更改为 X64 后,它给出以下错误消息:

" test_integration.cpp(27): 错误 C2664: 'hcubature_v' : 无法将参数 2 从 'int (__cdecl *)(unsigned int,unsigned int,const double *,void *,unsigned int,double *)' 转换为 'integrand_v '"

有人可以提供一些建议吗?谢谢!

以下是一些额外的定义:

0 投票
1 回答
4994 浏览

c++ - 当我运行 C++ 代码时,我总是得到 Visual Studio 错误 C2664

当我使用此代码时

我收到以下错误

C2664 'int GetKeyNameTextW(LONG,LPWSTR,int)':无法将参数 2 从 'char [128]' 转换为 'LPWSTR'

是这样NameBuffer说的:

错误:“char*”类型的参数与“LPWSTR”类型的参数不兼容

有小费吗?

0 投票
1 回答
562 浏览

c++ - 在 VS 2015 中映射插入导致 C2664 错误,在 VS 2013 中有效

这段代码在 VS 2013 中运行良好,但我必须更新到 VS 2015,现在它抛出了一个错误。

我确实阅读了https://msdn.microsoft.com/en-us/library/s5b150wd.aspx并用谷歌搜索了很多,但我仍然不知道如何解决这个问题。

我正在使用 eigen 数学库来做一些 3d 数学的东西。Eigen 的 Vector3d 类不能用作容器的键,所以我创建了自己的 Vector3dLite 类来解决这个问题。

这是编译器抛出错误的地方

这是编译器错误:

我确实尝试在 Vector3dLite 对象之前编写 const,但显然语法不正确。

VertexIds.insert(make_pair(const Vector3dLite(tri.Vert1), unique_vertid));

0 投票
2 回答
410 浏览

c++ - 为什么我不能将两个不同的比较器传递给一个模板函数?

我在这里绞尽脑汁好几个小时,但我仍然不明白为什么在尝试运行此代码时会出现错误。一段时间后,我设法将其缩小到表达式:

这会导致问题 - 如您所见,我正在尝试为一个排序模板功能构建大量比较器

我收到五个错误,都是一样的:

严重性代码 描述 项目文件行抑制状态错误 C2664 'bool Bakery::pastryPrice::operator ()(const Pastry *,const Pastry *) const':无法将参数 1 从 'Deliver *' 转换为 'const Pastry *' Bakery c :\程序文件 (x86)\microsoft visual studio 14.0\vc\include\xutility 809

还有一个:

严重性代码 描述 项目文件行抑制状态错误 C2056 非法表达式 Bakery c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility 809

当我去掉上面写的表达式时,代码工作得很好——为什么我不能将两个不同的比较器传递给一个模板函数?

现在:

C2264 是一种编译器错误,当尝试向函数传递不兼容类型的参数时会发生这种错误。

但是 Deliver 功能有效,当我取下 Deliver 比较器时,Pastry 也编译了......那么不兼容的类型是什么?

0 投票
2 回答
1061 浏览

c++ - Error C2664: cannot convert argument 1 from 'imaging::component_t *' to 'const imaging::component_t *&'

I have the error I mentioned in the title on this part of my code.

I tried image->setData(*buffer) or image->setData(&buffer) but that didn't work either. If anyone knows how to fix this I'd appreciate it. Thanks in advance.

0 投票
1 回答
36 浏览

c++ - 在一组转换为小写 c++ errorC2664

我正在尝试使用 STL 函数transform将集合中的所有字符串转换为小写。但是我收到了 C2664 的错误。我想知道我的代码有什么问题?