私はvs2010で次のように書いています:
int test() const;
const
それは間違って使用されていることを教えてくれます.そして言った:
非メンバー関数では型修飾子を使用できません
なぜ、それはvsの問題なのか、それともvsでそのような関数を使用する方法なのか?
私はvs2010で次のように書いています:
int test() const;
const
それは間違って使用されていることを教えてくれます.そして言った:
非メンバー関数では型修飾子を使用できません
なぜ、それはvsの問題なのか、それともvsでそのような関数を使用する方法なのか?
const
関数に適用された場合、非静的メンバー関数にのみ適用され、フリー関数や静的メンバー関数には適用されません。
class A
{
void f1() const; // OK
static void f2() const; // Not OK
};
void f3() const; // Not OK
C ++標準から:
非静的メンバー関数は、const、volatile、またはconstvolatileとして宣言できます。
静的メンバー関数は、const、volatile、またはconstvolatileとして宣言してはなりません。
そのコンテキストでの const は、このメソッドがメンバー変数を変更しないことを意味します。クラスのメソッドでない場合 (つまり、自由浮動関数である場合)、意味がありません。