求助这个类模板什么意思
#include <iostream>
const char _PTR[]="GOODBYR TIME"; //这个为什么一定要定义在全局区啊,我把它放在main函数中就不行了,还有这个 为什么不可以换成const char *_PTR="GOODBYE TIME"一换了就报错了
template <char const*_SET_STR>
class _PRINTF_CHAR
{
const char *_J_str;
public:
_PRINTF_CHAR()
{
_J_str=_SET_STR;
}
void _OUTPUT_STR()
{
std::cout<<_J_str;
}
};
int main(int agrc,char **agrv)
{
_PRINTF_CHAR<_PTR>()._OUTPUT_STR();
return 0;
}
有人说全局变量都不行,要常量表达式,的确是这样,还有人说const 表示只读,并不表示常量表达式 是么。。。还有模版需要链接,链接是什么啊
[解决办法]
这个是旧版的行为了,现在允许内部链接属性了,但必须是 constant expression,所以还可以这么写。
constexpr const char _PTR [] = "GOODBYR TIME";
[解决办法]
《离散数学及其应用(原书第6版)》