0

パブリック クラス アクセス指定子内に関数プロトタイプがあります。これはプロトタイプです:

friend void operator=(String &s,char *str);

String は、プロトタイプ化されたクラスです。見ての通りフレンド機能です。このようにしておくと、次のエラーが発生します。

operator =' must be a non-static member // Error: operator= must be a member function

そして、友人のプロパティを削除すると、次のエラーが表示されます:

error C2804: binary 'operator =' has too many parameters

このプロトタイプの何が問題になっていますか? 現在、operator= 関数での呼び出しはありませんので、関数定義がなくてもエラーになることはありません。

4

1 に答える 1

2

それが String クラスの一部である場合、それは への何かの代入であるthisため、1 つの引数しか取りません。

于 2013-07-06T21:26:15.417 に答える