关于static,极有挑战性!!!!! class test{ public: static int a; void set(int i){a=i;}};int main(int argc, char* argv[]){ test::a = 2; test x; x.set(1); return 0;}编译时,test::a = 2;x.set(1);均抱错,怎么回事?static到底怎么用? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 static int a.a 則 屬於 類test ,但又獨立以類test. 怎麼說呢? 就是把this 指針隱藏了.所以上面的調用錯誤. 需要在test类的cpp文件的最上方(#include 之后),定义int test::a;然后才能编译通过。 class test{ public: static int a; void set(int i){a=i;}};int test::a = 2;int main(int argc, char* argv[]){ test x; x.set(1); return 0;} 需要在test类的cpp文件的最上方(#include 之后),定义int test::a;然后才能编译通过。楼上的朋友,为什么要这么做? 静态成员数据的定义说明和初始化要在类外进行.int test::a=0; MFC单文档问题 关于 Default Button 属性和 IDOK 有关函数占用空间的时间问题 ORGE的编译问题?? CTreeCtrl HTREEITEM lParam值怎么进去不了呀??奇怪的是用变量进不了值,直接用"11"这种形式却有值 如何屏蔽调单文档应用程序里面状态栏的提示功能? *m_arin>>m_input是什么意思! 位图背景编辑框的问题 txt如何导入access的固定表中,语句该怎样写??? 哇!!!!!!一个空格卡死一只老虎 Red star, over titilima(升星散分) 请问:VC++中Access数据库的动态连接?
a 則 屬於 類test ,但又獨立以類test. 怎麼說呢? 就是把this 指針隱藏了.所以上面的調用錯誤.
public:
static int a;
void set(int i){a=i;}
};
int test::a = 2;
int main(int argc, char* argv[])
{
test x;
x.set(1);
return 0;
}
楼上的朋友,为什么要这么做?