编译器抱怨func()
的多个定义。
这似乎与驻留在头文件中的代码有关,该代码由多个其他.cpp文件包含。如果func()设置为内联,compilor会很高兴。但是,func()预计只执行一次......那么我的选择是什么?
namespace S
{
const LDS &func()
{
static LDS ret;
...
return ret;
}
}
inline LDS &operator<<(LDS &str_,stringType1 &data_)
{
str_ << S::func();
}
inline LDS &operator<<(LDS &str_,stringType2 &data_)
{
str_ << S::func();
}