2

在下面的示例代码中

    std::string result = exec( "dir" ) ;
    cout<<result;

我收到以下错误

错误 C2679:二进制“<<”:未定义运算符,该运算符采用“类 std::basic_string”类型的右侧操作数

我怀疑有一种特殊的方法可以打印出std::string.

请帮我调试一下。

此外,我还包含了iostream.hfstream.h头文件。

4

4 回答 4

3

我怀疑你需要符合cout条件std::

    std::cout << result;

或添加using namespace::std到您的 cpp 文件的顶部。

于 2012-05-19T19:21:10.833 回答
2

你需要包括<string>

于 2012-05-19T19:19:53.730 回答
2

cout 定义在<iostream>. 使<<语法与std::strings 一起使用需要<sstream>.

#include <iostream>
#include <sstream>

std::string result = "something";
std::cout << result << " and something else";
于 2018-09-17T11:29:22.253 回答
0

代表@MrLister回答我自己的问题,因为他不活跃。

我应该包括<iostream><fstream>不包括.h. 也using namespace std;应该在那之后输入。

前任:

#include <string>
#include <iostream>
#include <fstream>
#include <stdlib>

using namespace std;

非常感谢@MrLister。

感谢@dasblinkenlight。他的回答增强了一点。

于 2012-05-19T19:49:36.427 回答