0

在尝试显示信息时,我还收到“无运算符“<<”匹配这些操作数”错误。

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

3 回答 3

3

PrintHex已经在std::cout内部调用,所以没有理由把它放在另一个std::cout调用中。

PrintHex(ASphere.CalcCircumference());

这就是打印所需要做的一切。

于 2012-11-02T18:54:20.093 回答
2

您正在尝试打印返回 a 的函数的输出void,这意味着什么都没有

如果你想打印任何东西,请从你的函数中返回一些东西。

您可以:

  • 只需PrintHex(ASphere.CalcCircumference());从里面调用和打印(你已经做了什么)
  • 从您的函数中返回 astringstream或 a ,然后通过调用string打印它cout
于 2012-11-02T18:54:22.743 回答
2

说啊:

PrintHex(ASphere.CalcCircumference());

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

于 2012-11-02T18:54:36.113 回答