【发布时间】:2017-09-15 09:41:56
【问题描述】:
我想知道以下方法之间的主要区别是什么。如果定义std::to_string,是否有两种情况之一会导致问题?
include <string>
using namespace std;
enum class eColor
{
Red
};
void to_string(eColor color)
{
}
template<typename C = eColor)
void to_string(C color)
{
}
int main()
{
to_string(eColor::Red); // assume only one of the above is defined
return 0;
}
是否存在应该首选上述其中一项的情况?
【问题讨论】:
-
您的模板会造成混乱。见stackoverflow.com/questions/1452721/…
-
另外,你为什么想要一个模板?
-
我认为模板版本没有多大意义。但是您的示例过于简单,您也应该展示实现。
-
@juanchopanza 我真的很想知道是否有任何正当理由。
-
@juanchopanza 别介意我,我的大脑在度假。
标签: c++ c++11 templates tostring template-specialization