在下面的示例代码中
std::string result = exec( "dir" ) ;
cout<<result;
我收到以下错误
错误 C2679:二进制“<<”:未定义运算符,该运算符采用“类 std::basic_string”类型的右侧操作数
我怀疑有一种特殊的方法可以打印出std::string
.
请帮我调试一下。
此外,我还包含了iostream.h、fstream.h和流头文件。
我怀疑你需要符合cout
条件std::
std::cout << result;
或添加using namespace::std
到您的 cpp 文件的顶部。
你需要包括<string>
cout 定义在<iostream>
. 使<<
语法与std::string
s 一起使用需要<sstream>
.
#include <iostream>
#include <sstream>
std::string result = "something";
std::cout << result << " and something else";
代表@MrLister回答我自己的问题,因为他不活跃。
我应该包括<iostream>
和<fstream>
不包括.h
. 也using namespace std;
应该在那之后输入。
前任:
#include <string>
#include <iostream>
#include <fstream>
#include <stdlib>
using namespace std;
非常感谢@MrLister。
感谢@dasblinkenlight。他的回答增强了一点。