我也收到'无操作员'<<“在尝试显示信息时匹配这些操作数“错误。
cout << (<- error with these) PrintHex(ASphere.CalcCircumference()) << endl;
我环顾四周,大多数人都说这是因为缺少#include。但是我认为我需要包含所有内容。 (在我尝试显示函数中的信息之前,它也不会成为问题。)
#include <iostream>
#include <iomanip>
#include <string>
我的功能看起来像这样。
void PrintHex(int InNum)
{
cout << hex << setiosflags (ios_base::showbase) << InNum;
};
答案 0 :(得分:3)
PrintHex
已在内部调用std::cout
,因此没有理由将其置于另一个std::cout
调用中。
PrintHex(ASphere.CalcCircumference());
这就是你需要做的所有打印。
答案 1 :(得分:2)
您正在尝试打印返回void
的函数的输出,这意味着 nothing 。
如果要打印任何内容,请从函数中返回一些内容。
你可以:
PrintHex(ASphere.CalcCircumference());
并从里面打印(您已做的事情)stringstream
或string
,然后通过cout
来电打印答案 2 :(得分:2)
请说:
PrintHex(ASphere.CalcCircumference());
您的功能不适合与<<
一起使用,因为它不会返回任何内容。