【发布时间】:2015-06-14 08:17:00
【问题描述】:
我正在尝试将指针 (char*) 传递给我编写的通用函数。但我收到一个错误“在这种情况下重载 foo 不明确”。为什么会这样?
template <class T>
T foo(T a, T b)
{
return a+b;
}
int main()
{
char *c="Hello",*d="world";
foo<char*>(c,d);
return 0;
}
【问题讨论】:
-
我真的怀疑这是错误。请发布 MCVE。但是 A) 你不能添加指针和 B)
char* = "string literal";已被弃用。使用const char*。 -
另请注意,
return a+b;和char*可能不会像您认为的那样做。结果将毫无用处。 -
代码没有问题,只是不能添加指针。
foo你还有别的定义吗?