没有运算符匹配这些操作数

时间:2012-11-02 18:52:51

标签: c++

我也收到'无操作员'<<“在尝试显示信息时匹配这些操作数“错误。

    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;
};

3 个答案:

答案 0 :(得分:3)

PrintHex已在内部调用std::cout,因此没有理由将其置于另一个std::cout调用中。

PrintHex(ASphere.CalcCircumference());

这就是你需要做的所有打印。

答案 1 :(得分:2)

您正在尝试打印返回void的函数的输出,这意味着 nothing

如果要打印任何内容,请从函数中返回一些内容。

你可以:

  • 只需致电PrintHex(ASphere.CalcCircumference());并从里面打印(您已做的事情)
  • 从您的功能中退回stringstreamstring,然后通过cout来电打印

答案 2 :(得分:2)

请说:

PrintHex(ASphere.CalcCircumference());

您的功能不适合与<<一起使用,因为它不会返回任何内容。