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

を返す関数の出力を出力しようとしていますがvoid、これは何も意味しません。

何かを印刷したい場合は、関数から何かを返します。

次のいずれかを実行できます。

  • その中から電話PrintHex(ASphere.CalcCircumference());して印刷するだけです(あなたがすでに行っていること)
  • stringstream関数からaまたはaを返し、string後でcout呼び出しで出力します
于 2012-11-02T18:54:22.743 に答える
2

言うだけ:

PrintHex(ASphere.CalcCircumference());

<<この関数は何も返さないため、 で使用するのには適していません。

于 2012-11-02T18:54:36.113 に答える