我有一个带有枚举模板参数的类foo,由于某种原因,它链接到cpp文件中的两个版本的ctor。
enum Enum
{
bar,
baz
};
template <Enum version = bar>
class foo
{
public:
foo();
};
// CPP File
#include "foo.hpp"
foo<bar>::foo() { cout << "bar"; }
foo<baz>::foo() { cout << "baz"; }
我正在使用msvc 2008,这是标准行为吗? 是否只有类型模板参数无法链接到cpp文件?
答案 0 :(得分:2)
您正在专注于两种形式的构造函数。你为什么感到惊讶它链接两种形式?