问题标签 [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 投票
1 回答
3464 浏览

c++11 - c++ std::shared_ptr 错误 C2664

我正在使用 astd::shared_ptr指向一个节点

生成的声明和定义导致编译器错误

严重性代码描述项目文件行抑制状态错误 C2664 'Stack::Node::Node(const Stack::Node &)':无法将参数 1 从 'Stack::Node *' 转换为 'const Stack::Node &' 内存901

我需要更改哪些内容才能符合<memory>

0 投票
0 回答
212 浏览

c++ - emplace_back 不同的定义

emplace_back在 Visual Studio 的 cpp 项目中使用函数,它工作正常。Visual Studio 显示了以下定义:

然后,我将把我的 cpp 项目文件移动到 MFC 项目中,并在基于对话框的应用程序中使用它们。当我将代码移至 MFC 项目时,emplace_back定义已更改为:

并在构建后导致C2664xmemory0 中的错误:

在输出中它说:

我该如何处理这些问题?Visual Studio Project 的属性中是否有任何选项可以更正?

谢谢

0 投票
1 回答
1833 浏览

c++ - 尝试创建 unique_ptr 时出现错误 C2664

我试图找出我在我的项目中遇到的一个问题,我已将其简化为生成 C2664 错误的一小段代码。我不明白错误信息,谁能帮我理解?我用谷歌搜索过,我浏览了 2 本 C++ 书籍,这段代码正是其中列出的,但它对我不起作用。

谢谢。

这是错误:

0 投票
2 回答
5890 浏览

c++ - 错误 C2664 和 E0167,难倒

我正在学习 C++ 初学者的距离课程,但无法解决此编译错误。它的编写方式与示例书中的完全相同,当我的兄弟将其剪切并粘贴到他的 VS2015 中时,它可以正常工作,但在我的 VS2017 中却不行。我已经卸载并重新安装了 VS2017 社区,但无济于事。

我只编码了 2 周,所以我对此非常非常陌生。

我得到的错误代码是:

“const char”类型的错误E0167参数与“char 类型的参数不兼容
错误C2664 'void Hello(char)': cannot convert argument 1 from 'const char [8]' to 'char'

编码:

我真的希望有人可以帮助我。

一切顺利,杰普

0 投票
1 回答
1566 浏览

c++ - VS2017 C++ 编译器错误 C2664 无法转换参数

使用 VS2017 我使用unicode字符集编译下面的代码

我收到以下错误

VS2008下的相同代码编译就好了。这里似乎有什么问题,为什么编译器选择 ANSI 版本的PathFindExtenstion而不是 unicode 版本?

0 投票
1 回答
118 浏览

c++ - VS 2017 错误 C2664 地图插入尝试

现在此代码生成错误:

故障线以粗体显示。确切的错误信息是这样的:

错误 C2664:'std::_Tree_iterator>> std::_Tree>::insert(std::_Tree_const_iterator>>,const std::pair &)':无法将参数 1 从 'std::pair' 转换为 'std: :一对 &&'

我在这里做错了什么?

亲切的问候,瓦迪姆。

PS:对不起,我应该在那一刻澄清。也有这些定义:

0 投票
1 回答
1600 浏览

c++ - C++ c2664 错误“无法将参数 1 从 std::string 转换为 _Elem *”

我整个星期都被困在这个家庭作业上。就在我让程序最终运行时,我意识到通过使用 just cin >> breed,如果我的输入有空格,它会破坏代码(因为我的程序需要收集 3 个单独的变量,首先是一个 int,然后是一个字符串,最后是一个 bool) . 因为这是第二个变量,所以它使用带有白色字符的短语弄乱了我的代码。当我尝试将其更改为cin.getorcin.getline时,这是我收到的错误消息:

c2664 错误“无法将参数 1 从 std::string 转换为 _Elem *”

下面是有问题的代码(中间线给出了错误)。任何帮助将不胜感激!

0 投票
3 回答
182 浏览

c++ - 不断收到 C2664 错误 - 无法将参数从 char[10] 转换为 char

当我尝试编译和运行时,我不断收到 C2664 错误,“无法将参数 1 从 char[10] 转换为 char”。我试过用指针替换数组(char answer[] to char * answers)。我可以在不将数组传递给函数的情况下做到这一点,但这就是我正在努力做得更好的事情。

0 投票
1 回答
131 浏览

c++ - 错误:C2664 'void RecursiveDelete(LPWSTR,LPWSTR)':无法将参数 2 从 'const wchar_t [12]' 转换为 'LPWSTR'

任何想法如何解决?会非常有用。我尝试将一致性模式更改为关闭并且它工作但程序的其他部分失败了。还有其他修复吗?

有问题的线路:

编辑 :

该程序是更改 windows 注册表文件并与我的 c++ 加载程序连接。当项目是独立的,没有连接到加载器时,它工作得很好。

0 投票
2 回答
73 浏览

c++ - 我的拆分功能不起作用,错误 C2664,

所以这应该拆分字符串并将其转换为列表:

但是编译器会抛出这个错误:

并双击重定向到 xmemory0 行:881