首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

有没有高手帮忙解决上有关问题:error LNK2001: 无法解析的外部符号

2012-09-07 
有没有高手帮忙解决下问题:error LNK2001: 无法解析的外部符号error LNK2001: 无法解析的外部符号 int (*

有没有高手帮忙解决下问题:error LNK2001: 无法解析的外部符号
error LNK2001: 无法解析的外部符号 "int (* m_data)[15]" (?m_data@@3PAY0P@HA)


我在stdafx.h中声明了extern int m_data[15][15];,想在其他类中使用这个变量。
类的头文件和源文件也包含了stdafx.h。


请问一下怎么解决~

[解决办法]
需要在某一个源文件中定义这个数组。
[解决办法]
通常对全局变量(楼主这里指的是跨越多个文件的变量)的定义法则是这样子的:
主要有两种:
一、先定义全部变量,再在需要的地方包含——这种情况不能完全算所cpp文件中共享全局变量,因为其实无法达到修改变量的值在多个cpp中传递,只能简单的共享所定义的全局变量,这点有点类似于类的头文件定义,只是简单的让多个cpp来同时使用,通常是用来定义一些共用的系数、参数、函数方程等等。
二、另外一种,就是在头文件中声明全局变量,意思就是用extern关键词限定。用来在多个cpp文件中跨越选取变量。这种情况下可以达到多个cpp共同修改和使用全局变量。但是这里要注意的是,在头文件中包含的所声明的全局变量,一定要在某个cpp文件中定义出来。(注意定义与声明的区别)
[解决办法]

探讨
需要在某一个源文件中定义这个数组。

[解决办法]
这个需要在main文件中声明它,然后在你需要的文件中去extern 它就行了

热点排行