【问题标题】:Error using std::cout使用 std::cout 时出错
【发布时间】:2010-12-17 03:45:47
【问题描述】:

当我尝试将文本打印到 Windows 控制台(在控制台应用程序中)时,我得到
编译器错误 C2679 - 二进制“”类型右侧操作数的运算符(或没有可接受的转换)。
产生此错误的代码是:(其中 str_var 是 std::string 类型的任何变量)

std::cout << str_var << endl;

它将第一个'

【问题讨论】:

  • 您能否发布演示此行为的整个示例代码?
  • 你确定它是一个 std::string 而不是你传递的 std::wstring 吗?

标签: c++


【解决方案1】:

我相信你不见了:

#include <iostream>

【讨论】:

  • 我认为他失踪#include &lt;string&gt;的可能性更大。
  • @Karl:如果他缺少字符串,编译器不会知道抱怨 'std::basic_string<_elem>'。
  • 我正在使用一个头文件,并且我在该头文件中有#include 。我应该在 .cpp 文件和 .h 文件中添加另一个 #include 吗?
  • 我假设您在 .cpp 中包含了您的标头?如果是这样,那么您不需要再次包含。如果您在此处发布更多代码会更有帮助。
【解决方案2】:

确保包含字符串库并尝试


std::cout << str_var << std::endl ;

【讨论】:

  • 包含字符串库,但并未真正使用。顺便说一句,它会抛出任何类型的数据错误,甚至是字符串常量和整数
【解决方案3】:

好的!问题解决了!我重新安装了 Visual Studio,现在它可以工作了。所以,这只是 VS 的问题,与代码无关。

【讨论】:

    猜你喜欢
    • 2022-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-08
    • 2013-09-11
    • 2011-07-08
    相关资源
    最近更新 更多