[quote=引用 5 楼 u012908616 的回复:] 无论如何,运行时报错,确实挺诡异,难道是动态链接? 在头文件中定义变量,然后被一个或多个cpp文件包含时,相当于在每个cpp文件中定义这个变量。 这些cpp在编译成obj文件时可能都OK, 但将obj链接至一起时,因为包含相同的符号名称,导致冲突,链接失败。 但楼主居然链接成功了。。。
无论如何,运行时报错,确实挺诡异,难道是动态链接? 在头文件中定义变量,然后被一个或多个cpp文件包含时,相当于在每个cpp文件中定义这个变量。 这些cpp在编译成obj文件时可能都OK, 但将obj链接至一起时,因为包含相同的符号名称,导致冲突,链接失败。 但楼主居然链接成功了。。。
不要在头文件里定义一个会更改的变量,会导致所有包含此头文件的模块里都有同一个变量。 const自带static属性,各模块彼此隔离,所以可以正常通过编译。
64,682
社区成员
250,490
社区内容
加载中
试试用AI创作助手写篇文章吧