Я начинаю изучать С++ и Qt, но иногда самый простой код, который я вставляю из книги, приводит к ошибкам.
Я использую g++4.4.2
в Ubuntu 10.04 с IDE QtCreator. Есть ли разница между синтаксисом компилятора g++ и другими компиляторами? Например, когда я пытаюсь получить доступ к статическим членам, что-то всегда идет не так.
#include <iostream>
using namespace std;
class A
{
public:
static int x;
static int getX() {return x;}
};
int main()
{
int A::x = 100; // error: invalid use of qualified-name 'A::x'
cout<<A::getX(); // error: : undefined reference to 'A::x'
return 0;
}
Я думаю, что это точно так же, как объявлено здесь и здесь (не так ли?). Итак, что не так с вышеуказанным кодом?