以下のプログラムから次のエラーが発生します。
宣言されていない識別子「値」の使用
なんで?そして、フレンドクラスを使用して修正するにはどうすればよいですか?
前もって感謝します。
template <typename T>
class F2 : public F1<T>
{
public:
F2(T o) : F1<T>(o) {}
void fun() {
std::cout << value << std::endl;
}
};
template <typename T>
class F1
{
public:
template <typename U>
friend class F2;
F1(T o) : value(o) {}
protected:
T value;
};
int main()
{
F2<int> f(3);
}