📄 subject_22092.htm
字号:
<p>
序号:22092 发表者:duanruiyu 发表日期:2002-11-22 14:03:53
<br>主题:请教关于link的问题
<br>内容:我在vc上建了一个控制台项目,在文件中输入以下代码:<BR><BR>#include <iostream.h><BR><BR>class A<BR>{<BR>public:<BR> static int n;<BR>};<BR><BR> .<BR> .<BR> .<BR><BR>void main()<BR>{<BR> A::n = 10;<BR> .<BR> .<BR> .<BR>}<BR><BR>link时报如下错误:<BR>main.obj : error LNK2001: unresolved external symbol "public: static int B::n" (?n@B@@2HA)<BR><BR>请问是什么原因造成的?<BR><BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:CDMA2000 回复日期:2002-11-22 14:46:01
<br>内容:你应该在A的定义外加上 int A::n;这是定义<BR>class A<BR>{<BR>public:<BR> static int n;//声明类的静态变量<BR>};<BR>int A::n;//定义类的静态变量<BR><BR>void main()<BR>{<BR> A::n = 10;<BR> .<BR> .<BR> .<BR>}<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:duanruiyu 回复日期:2002-11-22 15:21:51
<br>内容:为什么要这样做?我看一些关于C++语法的书都没有要求这样。<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:CDMA2000 回复日期:2002-11-22 15:25:45
<br>内容:绝对要的,在类中只是声明,并不是定义,<BR>因为静态成员并不属于类的,所以要在类外定义<BR>你说以前语法书要求这样,原因有2:<BR>1。你没有看仔细<BR>2。书的作者没写仔细<BR><BR>你看了深入浅出MFC吗,上面就有
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:duanruiyu 回复日期:2002-11-22 15:34:58
<br>内容:你的答案是正确的。谢谢你。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -