ストリーミング演算子の問題を診断するにはどうすればよいですか: 'operator <<'に一致しません

Biaaach

私は本当にこれに頼りたくありませんでしたが、コードがコンパイルされない理由(gcc)については文字通りわかりません(「テンプレート引数の推定/置換に失敗しました」など)

エラーメッセージ:

error: no match for 'operator<<' (operand types are 'std::basic_ostream<char>' and 'const EAN_code')

ヘッダーファイル

#ifndef HEADER_H
#define HEADER_H
using namespace std;
#include <iostream>

class EAN_code {
  int ean_code;
  
};

class Order_item {
  EAN_code item_number;
  unsigned qty;
public:
  Order_item(const EAN_code&, unsigned);
  ostream& print(ostream&) const;
};

ostream& operator<<(ostream&, const Order_item);

#endif

ソースファイル

#include "header.h"


Order_item::Order_item (const EAN_code& code, unsigned qty) : item_number{code}, qty{qty} {}

ostream& Order_item::print(ostream& o) const {
  return o << qty << " x " << item_number;
}
ostream& operator<<(ostream& o, const Order_item i) {
  return i.print(o);
}
デンジェイソン

問題はここにあります:

return o << qty << " x " << item_number;

具体的には:

<< item_number

item_numberはタイプでEAN_codeあり、operator<<オーバーロードを指定していませんすでに行ったことと同様のパターンを使用しますOrder_item

質問のタイトルを「C ++ストリーミング演算子のエラーを見つける方法」のようなものに変更することをお勧めします。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

'operator <<'に一致しません

分類Dev

'operator ='に一致しません

分類Dev

'std :: operatorの' operator << 'に一致しません

分類Dev

Qt C ++ 'operator <<'ストリームに一致しません

分類Dev

'std :: operator ....の' operator <'に一致しません。これはどういう意味ですか?

分類Dev

エラー:boost :: tupleの 'operator =='に一致しません

分類Dev

エラーの解決:operator []に一致しません

分類Dev

C ++ 'operator ='に一致しません(後置から中置)

分類Dev

C++ 初心者は 'operator-' に一致しません

分類Dev

operator ==に一致しません(weak_ptr、const weak_ptr)

分類Dev

Coutが機能しません-(エラー: 'operator <<'に一致しません)

分類Dev

蓄積を使用している間、C ++のoperator +に一致しません

分類Dev

C ++コンパイルエラー-'operator = 'に一致しません

分類Dev

エラー: 'operator[]' に一致するものはありませんか?

分類Dev

"エラー:文字列の値をチェックするときにoperator =="に一致しません

分類Dev

エラーコードを取得し続けます: 'Ltrl == r_string [i]'の 'operator =='に一致しません

分類Dev

'operator >>'に一致しません(オペランドタイプは 'QDataStream'および 'QJsonObject'です)

分類Dev

'operator ='に一致しません(オペランドタイプは 'String'および 'void'です)

分類Dev

フォントレンダリングの問題を診断するにはどうすればよいですか?

分類Dev

c ++で 'operator <<'(stringとostreamを含み、<<をオーバーロードする)に一致しません

分類Dev

C ++ [エラー] 'operator =='に一致しません(オペランドタイプは 'Vehicle'と 'const Vehicle'です)

分類Dev

エラー:「operator +」に一致しません(オペランドタイプは「int」と「class」です)

分類Dev

テンプレートメソッドを呼び出すと、「operator <」に一致しません。

分類Dev

C ++で「operator +に一致しない」を修正するにはどうすればよいですか?

分類Dev

'operator ='に一致しません(オペランドタイプは 'std :: vector <int>'と 'int'です

分類Dev

unique_ptrリンクリストの挿入-operator =に一致しません

分類Dev

Chrome Dev Toolでネットワークのウォーターフォールを使用してWebレンダリングのパフォーマンスの問題を診断するにはどうすればよいですか?

分類Dev

std :: chrono :: high_resolution_clockを使用する場合、「operator =」に一致しません

分類Dev

エラー: 'operator=' に一致しません (オペランド タイプは 'PlDrustvo' および 'PlDrustvo')|

Related 関連記事

  1. 1

    'operator <<'に一致しません

  2. 2

    'operator ='に一致しません

  3. 3

    'std :: operatorの' operator << 'に一致しません

  4. 4

    Qt C ++ 'operator <<'ストリームに一致しません

  5. 5

    'std :: operator ....の' operator <'に一致しません。これはどういう意味ですか?

  6. 6

    エラー:boost :: tupleの 'operator =='に一致しません

  7. 7

    エラーの解決:operator []に一致しません

  8. 8

    C ++ 'operator ='に一致しません(後置から中置)

  9. 9

    C++ 初心者は 'operator-' に一致しません

  10. 10

    operator ==に一致しません(weak_ptr、const weak_ptr)

  11. 11

    Coutが機能しません-(エラー: 'operator <<'に一致しません)

  12. 12

    蓄積を使用している間、C ++のoperator +に一致しません

  13. 13

    C ++コンパイルエラー-'operator = 'に一致しません

  14. 14

    エラー: 'operator[]' に一致するものはありませんか?

  15. 15

    "エラー:文字列の値をチェックするときにoperator =="に一致しません

  16. 16

    エラーコードを取得し続けます: 'Ltrl == r_string [i]'の 'operator =='に一致しません

  17. 17

    'operator >>'に一致しません(オペランドタイプは 'QDataStream'および 'QJsonObject'です)

  18. 18

    'operator ='に一致しません(オペランドタイプは 'String'および 'void'です)

  19. 19

    フォントレンダリングの問題を診断するにはどうすればよいですか?

  20. 20

    c ++で 'operator <<'(stringとostreamを含み、<<をオーバーロードする)に一致しません

  21. 21

    C ++ [エラー] 'operator =='に一致しません(オペランドタイプは 'Vehicle'と 'const Vehicle'です)

  22. 22

    エラー:「operator +」に一致しません(オペランドタイプは「int」と「class」です)

  23. 23

    テンプレートメソッドを呼び出すと、「operator <」に一致しません。

  24. 24

    C ++で「operator +に一致しない」を修正するにはどうすればよいですか?

  25. 25

    'operator ='に一致しません(オペランドタイプは 'std :: vector <int>'と 'int'です

  26. 26

    unique_ptrリンクリストの挿入-operator =に一致しません

  27. 27

    Chrome Dev Toolでネットワークのウォーターフォールを使用してWebレンダリングのパフォーマンスの問題を診断するにはどうすればよいですか?

  28. 28

    std :: chrono :: high_resolution_clockを使用する場合、「operator =」に一致しません

  29. 29

    エラー: 'operator=' に一致しません (オペランド タイプは 'PlDrustvo' および 'PlDrustvo')|

ホットタグ

アーカイブ