大佬教程收集整理的这篇文章主要介绍了C 11本地静态值不用作模板参数,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
#include <iostream> using namespace std; template <const char* Str> void print() { cout << Str << endl; } int main() { static constexpr char myStr[] = "Hello"; print<myStr>(); return 0; }
error: ‘myStr’ is not a valid template argument of type ‘const char*’ because ‘myStr’ has no linkage
candidate template ignored: invalid explicitly-specified argument for template parameter 'Str'
两个编译器都使用-std = c 11运行
指向在线编译器的链接,您可以从中选择多个C编译器之一:http://goo.gl/a2IU3L
注意,将myStr移动到主编译之外并按预期运行.
注意,我已经查看了类似于C 11之前的StackOverflow问题,并且大多数表明这应该在C 11中解决.例如Using local classes with STL algorithms
以上是大佬教程为你收集整理的C 11本地静态值不用作模板参数全部内容,希望文章能够帮你解决C 11本地静态值不用作模板参数所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。