我尝试了以下代码。
template <int VAL>
void printVAL()
{
for(int i=0;i<VAL; i++){
cout << " i value is "<<i<<endl;
}
}
实例化:printVAL<100>()
当我使用(std::string s)作为非类型模板参数时,编译器向我大喊以下错误
"class std::basic_str<char>' is not a valid type for a template non-type parameter.
我所知道的是我们应该只使用恒定的整数值。连双倍都没有。
问题:
1) 为什么我们不应该使用 std::string,有什么困扰?
2)“可以使用指向具有外部链接的对象的指针”是什么意思。我可以得到它的任何示例代码吗?