在這樣的形式......靜態數組作爲一個私有成員
#ifndef UNICODE
#define UNICODE
#endif
#include <Windows.h>
#include <iostream>
class A
{
public:
void makeFoo(TCHAR* output)
{
wcscpy(outputBuffer,TEXT("Hello world ♥"));
}
private:
static const int MAX_OUTPUT_SIZE=2000;
static TCHAR outputBuffer[MAX_OUTPUT_SIZE];
};
int main()
{
TCHAR string[255];
A example;
example.makeFoo(string);
MessageBox(0,string,0,0);
system("Pause");
return 0;
}
...我們有一個 鏈接錯誤!
1> main.obj:錯誤LNK2001:無法解析的外部符號 「私人: 靜態wchar_t的* A :: OutputBuffer中」(?OutputBuffer中@一@@ 0PA_WA)
你的問題表明你對'static'關鍵字的工作原理以及它的作用沒有很好的理解。你確定你希望這是「靜態」嗎?這意味着只有一個'A :: outputBuffer'實例被類'A'的所有實例共享。 – Chad 2012-08-02 14:35:09