私のC++は少し錆びています。iにアクセスしているときにmain()に「クラスまたは名前空間ではない」コンパイル時エラーが表示される理由を誰かが理解できますか?
#include <iostream>
using namespace std;
class Singleton2 {
Singleton2(){
i = 0;
}
public:
int i;
friend Singleton2 & singleton2();
};
Singleton2 & singleton2(){
static Singleton2 ms;
return ms;
}
int main() {
Singleton2 ms = singleton2();
int i = ms::i; // error: `ms' is not a class or namespace
cout << i << endl;
}