私はまだC++テンプレートを習得しており、以下を使って特殊な静的関数からメンバーを呼び出す際に問題が発生しました。 GCCは文句を言う:"無効メンバーの使用C < const char *> ::値::静的メンバー関数で。私はこのフォーラムや他のいくつかを検索しました。私の友人でさえGoogleが私を助けません。私はクラスが(同じ静的メンバー関数を持つ)特殊化されていないバージョンを作ったので、エラーが私が見落としているものでなければならないと思います。何か案は?同じクラスの特殊テンプレートの静的関数からクラステンプレートメンバーへのアクセス
template <typename T = const char*>
class C { };
//specialization for const char*
template <>
class C <const char*> {
public:
C() { }
static void echo(int x);
private:
int value;
};
//error occurs here
void C<const char*>::echo(int x) {
value = x;
}
あなたが提供できる洞察力に多くの感謝をします。
ありがとう@Ben、私が探していたもの!いい説明。 +1 – jrd1