C++ << 未找到运算符
C++ << no operator found
string toString() {
std::stringstream punkte;
std::stringstream name;
std::cout << name << "hat" << punkte << "Punkte" << '\n'
return 0;
}
在这行代码。我收到错误 C++ << 找不到运算符
我不知道我的错误是什么。我已经阅读并尝试了不同的解决方案。但没有任何效果。有人可以帮忙吗?
std::cout << name << "hat" << punkte << "Punkte" << '\n';
我也在我的代码中包含了这个:
#include <string> // std::string
#include <iostream> // std::cout
#include <sstream> // std::stringstream, std::stringbuf
#include <fstream>
没有将 std::stringstream 格式化为 std::ostream 的 operator<<() 重载。有错不在。
您正在尝试使用字符串流参数调用运算符“<<”。换句话说:
std::cout << name;
相当于:
std::cout.operator<<(name);
并且那个 operator<<(const std::stringstream&) 函数不存在。
我认为您想要做的是为每个字符串流分配它们的值,然后打印两者,不是吗?
string toString()
{
std::stringstream punkte;
std::stringstream name;
name << "hat";
punkte << "Punkte";
std::cout << name.str() << punkte.str() << std::endl;
return name.str();
}
请注意您的 return 值,并记住 std::stringstream 不是 std::string。如果要在流中检索std:string,则必须调用str()
方法。
string toString() {
std::stringstream punkte;
std::stringstream name;
std::cout << name << "hat" << punkte << "Punkte" << '\n'
return 0;
}
在这行代码。我收到错误 C++ << 找不到运算符 我不知道我的错误是什么。我已经阅读并尝试了不同的解决方案。但没有任何效果。有人可以帮忙吗?
std::cout << name << "hat" << punkte << "Punkte" << '\n';
我也在我的代码中包含了这个:
#include <string> // std::string
#include <iostream> // std::cout
#include <sstream> // std::stringstream, std::stringbuf
#include <fstream>
没有将 std::stringstream 格式化为 std::ostream 的 operator<<() 重载。有错不在。
您正在尝试使用字符串流参数调用运算符“<<”。换句话说:
std::cout << name;
相当于:
std::cout.operator<<(name);
并且那个 operator<<(const std::stringstream&) 函数不存在。
我认为您想要做的是为每个字符串流分配它们的值,然后打印两者,不是吗?
string toString()
{
std::stringstream punkte;
std::stringstream name;
name << "hat";
punkte << "Punkte";
std::cout << name.str() << punkte.str() << std::endl;
return name.str();
}
请注意您的 return 值,并记住 std::stringstream 不是 std::string。如果要在流中检索std:string,则必须调用str()
方法。