标题:[求助]error LNK2001: unresolved external symbol "private: static int c ...
只看楼主
tangofan
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-5-20
 问题点数:0 回复次数:12 
[求助]error LNK2001: unresolved external symbol "private: static int c::x"
#include<iostream>
using namespace std;
class c{
public:
void f(){cout<<++x<<endl;}
private:
static int x;
};
int main(){
c c1;
c1.f();
return 0;
}
书上这个简单的程序要求找出错误,我觉得挺正确的呀!运行后出现error LNK2001: unresolved external symbol "private: static int c::x" 请帮帮忙。
搜索更多相关主题的帖子: symbol int external private 
2007-06-27 14:33
天下第二刀
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:157
专家分:0
注 册:2007-1-8
得分:0 
静态成员在先初始化

不知天堂有没有后门~~~
2007-06-27 14:43
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
得分:0 

静态成员变量可以是私有的吗?如果可以,那怎么初始化啊???


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2007-06-27 15:21
天下第二刀
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:157
专家分:0
注 册:2007-1-8
得分:0 
int c::x =0;

这样不行??

不知天堂有没有后门~~~
2007-06-27 15:26
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
得分:0 

我还一位私有不能访问呢,呵呵,不好意思。


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2007-06-27 15:27
HJin
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:401
专家分:0
注 册:2007-6-9
得分:0 
以下是引用tangofan在2007-6-27 14:33:26的发言:
#include<iostream>
using namespace std;
class c{
public:
void f(){cout<<++x<<endl;}
private:
static int x;
};
int main(){
c c1;
c1.f();
return 0;
}
书上这个简单的程序要求找出错误,我觉得挺正确的呀!运行后出现error LNK2001: unresolved external symbol "private: static int c::x" 请帮帮忙。

first choice is:

class c{
public:
void f(){cout<<++x<<endl;}
private:
static int x;
};

int c::x = 0;

2dn choice is (if your static int is a constant):

class c{
public:
void f(){cout<<++x<<endl;}
private:
static const int x = 0;
};

int c::x;

[此贴子已经被作者于2007-6-27 18:21:02编辑过]


I am working on a system which has no Chinese input. Please don\'t blame me for typing English.
2007-06-27 18:20
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
得分:0 
楼上完全正确!

Fight  to win  or  die...
2007-06-27 18:29
tangofan
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-5-20
得分:0 

谢谢各位给的回答!

Thank you!

呵呵最近就要考试了。


狂热tango!
2007-06-27 21:53
野比
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:1627
专家分:516
注 册:2007-5-24
得分:0 

加油哦


女侠,约吗?
2007-06-27 21:56
tangofan
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-5-20
得分:0 

等等,我发现一个问题:
class c{
public:
void f(){cout<<++x<<endl;}
private:
static int x;
};

int c::x = 0; 就算没有这句话,程序会默认x的的值为0的。


狂热tango!
2007-06-27 22:26



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-150744-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022871 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved