加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 10:22:01 所属栏目:百科 来源:网络整理
导读:这一定非常简单,但我找不到: 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 S
这一定非常简单,但我找不到:

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;

请注意,定义必须出现在实现文件中,而不是标题中,否则会出现多重定义错误.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读