请问一个C++的编译有关问题
请教一个C++的编译问题
#include <iostream>
using namespace std;
class A
{
public:
static int a;
static int setaa(int b)
{
A::a = b;
return 1;
}
};
A abc;
int main(int argc, char **argv)
{
A::setaa(8);
cout<<"a is %d"<<abc.a<<endl;
return 1;
}
用g++ 编译总是有如下error,请问如何消除.
g++ test1.cpp
/tmp/ccTxFUQ7.o: In function `main':
test1.cpp:(.text+0x18): undefined reference to `A::a'
/tmp/ccTxFUQ7.o: In function `A::setaa(int)':
test1.cpp:(.text._ZN1A5setaaEi[A::setaa(int)]+0x7): undefined reference to `A::a'
collect2: ld returned 1 exit status
------解决方案--------------------
int A::a = 0
?
------解决方案--------------------
#include <iostream>
using namespace std;
class A
{
public:
static int a;
static int setaa(int b)
{
A::a = b;
return 1;
}
};
A abc;
int main(int argc, char **argv)
{
A::setaa(8);
cout<<"a is %d"<<abc.a<<endl;
return 1;
}
用g++ 编译总是有如下error,请问如何消除.
g++ test1.cpp
/tmp/ccTxFUQ7.o: In function `main':
test1.cpp:(.text+0x18): undefined reference to `A::a'
/tmp/ccTxFUQ7.o: In function `A::setaa(int)':
test1.cpp:(.text._ZN1A5setaaEi[A::setaa(int)]+0x7): undefined reference to `A::a'
collect2: ld returned 1 exit status
------解决方案--------------------
int A::a = 0
?
------解决方案--------------------