gpt4 book ai didi

c++ - 如何获取指向专门针对字符串的模板函数的指针?

转载 作者:行者123 更新时间:2023-11-30 04:40:36 25 4
gpt4 key购买 nike

我尝试使用一组过滤函数来根据字符串输入运行适当的例程。我尝试使用模板为常见情况创建匹配器函数,但当我尝试存储指向专用函数的指针(在结构中,在实际应用程序中)时,出现“类型不等于类型”错误

从 Visual C++ 8“控制台应用程序”中提取的示例

template <const char *C>
const char*
f(void) {
return C;
}

const char* (*g)(void) = f<"hi">;


int _tmain(int argc, _TCHAR* argv[])
{
return g();
}

失败并出现错误

Error   1   error C2440: 'initializing' : cannot convert from 'const char *(__cdecl *)(void)' to 'const char *(__cdecl *)(void)'    c:\files\pointer.cpp    7   

(它在主返回值上也有错误,但这与我无关。)

如果 const char * 被替换为 int,同样的例子会成功。

最佳答案

ISO 标准禁止将字符串作为模板值参数。

关于c++ - 如何获取指向专门针对字符串的模板函数的指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1051010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com