c – 通过非静态方法访问静态成员

c – 通过非静态方法访问静态成员,第1张

概述这一定非常简单,但我找不到: 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 { stat 这一定非常简单,但我找不到:

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 – 通过非静态方法访问静态成员所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1219579.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存