vs2017中LNK2005错误,包含函数重定义和变量的重定义,大家看看
在vs2017中,文件有Sequencestack.cpp(包含主函数),shixian.cpp(函数功能的实现),dingyi.h(变量的定义),Sequencesta...
在vs2017中,文件有Sequencestack.cpp(包含主函数),shixian.cpp(函数功能的实现),dingyi.h(变量的定义),Sequencestack.cpp只包含了shixian.cpp。在主函数中调用shixian.cpp中写的函数,就会报错。
网页链接 展开
网页链接 展开
1个回答
展开全部
首先源码组织的就不符合规范,C++程序语言设计(C++之父写的那本)专门有一章讲如何组织源码(包括物理上的文件,和逻辑上的名字空间/类声明定义)。比如:类声明是放在.h中的,如果分离类定义则是在.cpp,如果不分离而用inline定义则也是在.h中,函数与类类似,模版都放在.h中,全局变量放在.cpp中,在.h中只放extern变量声明,#pragma once是include保护,它应该内置保护(就是放到.h文件的头部)等等。而现在你的程序出现了连接错误,一般就是因为有一个符号没有定义而你使用了,或者一个符号你定义了几次(符号是编译原理术语,类名、函数名、变量名等都是符号)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询