struct Test { static int n; voID Save(int val) { Test::n = val; }};int main() { Test t; t.Save(2); return 0;}
为什么在第4行有对Test :: n的未定义引用?
解决方法 您需要定义静态:struct Test { static int n; voID Save(int val) { Test::n = val; }};int Test::n = 0;
请注意,定义必须出现在实现文件中,而不是标题中,否则会出现多重定义错误.
总结以上是内存溢出为你收集整理的c – 通过非静态方法访问静态成员全部内容,希望文章能够帮你解决c – 通过非静态方法访问静态成员所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)