首页 > DUI > DUI-解决全局变量重复定义
2014八月4

DUI-解决全局变量重复定义

众所周知,静态static变量或全局变量一般都需要在cpp中定义,在h中声明,这样才不会引发重复定义错误

但如果是模板呢,模板要求所有的代码都在.h中,所以如果存在static变量就会引出重复定义错误

解决方式:

 __declspec(selelctany) 使在头文件中定义静态成员变量可行,在链接时,如果显示了 COMDAT 的多个定义,则链接器会选取一个定义并丢弃其余的定义。

https://msdn.microsoft.com/zh-cn/library/5tkz6s71.aspx

_declspec(selectany) int strNull[] = { 0, 0 };	//empty string

文章作者:hgy413
本文地址:https://hgy413.com/1627.html
版权所有 © 转载时必须以链接形式注明作者和原始出处!

本文的评论功能被关闭了.