なぜこのレポートエラー:C++のテンプレートは、ローカル変数のためにエラーを報告していない
class a {
public:
void b() {this->c++;}
};
int main() {
a var;
}
しかし、これではないでしょうか?それは必要がありますので、「D」型に依存しない、「」テンプレートクラス、関数「B」、または変数への少なくともアクセスである「C」という事実にもかかわらず
template <typename d> class a {
public:
void b() {this->c++;}
};
int main() {
a<int> var;
}
何か報告してください。
しかし、私が "var.b();"を呼び出すと、メイン関数ではエラーが発生します。
私は本当にそれを理解することはできませんが、それは簡単な質問であることを知っています。
'var.b()'を呼び出すとすぐにエラーが報告されます。 – lorro
このビヘイビアはむしろ便利です。たとえば、ポリシーデザインパターンの場合は必要です。https://en.wikipedia.org/wiki/Policy-based_design –