网站规划应遵循的原则有哪些家装设计师电话
web/
2025/9/26 21:31:59/
文章来源:
网站规划应遵循的原则有哪些,家装设计师电话,免费建立网站教程,个人网站做导航网站问题描述如下#xff1a;
有 三个源文件#xff0c;A.h、B.cpp、C.cpp。
A.h是头文件#xff0c;其中声明了三个变量a1、a2、 a3。
B.cpp是A.h中所声明的类的实现源代码#xff0c;C.cpp是主程序文件。B.cpp和C.cpp中均包含头文件 A.h。
在编译时#xff0c;编译能够通…问题描述如下
有 三个源文件A.h、B.cpp、C.cpp。
A.h是头文件其中声明了三个变量a1、a2、 a3。
B.cpp是A.h中所声明的类的实现源代码C.cpp是主程序文件。B.cpp和C.cpp中均包含头文件 A.h。
在编译时编译能够通过但链接时出了问题出现”error LNK1169: 找到一个或多个多重定义的符号“的错误。
经过分析确定了这是由于两个实现文件中重复包含了头文件而造成的。可解决方法却始终找不到。
要 注意的是在这里在头文件中加入#ifndef……#endif这样的预编译命令是没用的因为这是防止嵌套包含头文件的而本例中并没有嵌套包含是 在两个文件中分别包含。
因为这三个变量在两个实现文件中都要用到所以一定要包含在A.h中。后来在网上找到了解决方法其实很简单。
就是在A.h中的三个变量声明前加上extern 关键字然后在B.cpp中不加extern关键字再次声明这三个变量。于是编译链接顺利通过。
其实这是C中比较基础的问题。 还有种情况是定义了函数但在另个文件中准备用#include打开但是结果还是会出现。
直接包含不就在两个cpp文件中都定义了相同的函数/变量吗链接时会出现重复定义你自己试试所以需要使用extren申明一下即可他们使用的是同一个实体。
例如 1、你在a.cpp中定义了一个函数 void func() { }
希望在b.cpp中调用调用前就需要进行声明格式如下 extren void func(); //extren 后面根的形式和函数定义形式要完全相同
void mian { func(); }
2、1、你在a.cpp中定义了一个变量 int a;
希望在b.cpp中使用使用前就需要进行声明格式如下 extren int a; //extren 后面根的形式和变量定义形式要完全相同
void main() { int b a; }
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/82395.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!