[問題] class中的static
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
( 未必需要依照此格式,文章條理清楚即可 )
遇到的問題: (題意請描述清楚)
是這樣的~有一個class長這樣
class YourClass
{
public:
YourClass(int data);
YourClass();
void set (int data);
int get();
static int calculate();
private:
int data;
static int sum;
};
其中static int calculate()會修改static int sum的值並回傳結果
int YourClass::calculate()
{
sum = 100;
return sum;
}
不過再編譯會出現
class.cpp:(.text+0x8a): undefined reference to `YourClass::sum'
class.cpp:(.text+0x96): undefined reference to `YourClass::sum'
collect2: ld returned 1 exit status
請問這種錯誤的原因和要如何解決?
補充說明:
平台是
x86_64-suse-linux
gcc version 4.3.2 [gcc-4_3-branch revision 141291] (SUSE Linux)
語言
C++
請各位幫幫我~感恩
--
達克女王黑爾芭終於舉兵,
留斯之王亞培隆起而呼應之,
兩者皆望見彩紅一端,並聯手抵禦可憎之「波」。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 120.126.16.177
→
08/02 14:10, , 1F
08/02 14:10, 1F
推
08/02 14:12, , 2F
08/02 14:12, 2F
→
08/02 14:13, , 3F
08/02 14:13, 3F
→
08/02 14:16, , 4F
08/02 14:16, 4F
→
08/02 14:22, , 5F
08/02 14:22, 5F
→
08/02 14:24, , 6F
08/02 14:24, 6F
→
08/02 14:25, , 7F
08/02 14:25, 7F
→
08/02 14:27, , 8F
08/02 14:27, 8F
→
08/02 14:28, , 9F
08/02 14:28, 9F
推
08/02 14:32, , 10F
08/02 14:32, 10F
→
08/02 14:32, , 11F
08/02 14:32, 11F
→
08/02 14:33, , 12F
08/02 14:33, 12F
→
08/02 14:34, , 13F
08/02 14:34, 13F
→
08/02 14:34, , 14F
08/02 14:34, 14F
→
08/02 14:35, , 15F
08/02 14:35, 15F
→
08/02 14:35, , 16F
08/02 14:35, 16F
→
08/02 14:36, , 17F
08/02 14:36, 17F
→
08/02 14:36, , 18F
08/02 14:36, 18F
→
08/02 14:38, , 19F
08/02 14:38, 19F
→
08/02 14:39, , 20F
08/02 14:39, 20F