代码之家  ›  专栏  ›  技术社区  ›  the_drow

常量模板参数类管理外部链接

  •  0
  • the_drow  · 技术社区  · 15 年前

    我有一个带有枚举模板参数的类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文件?

    1 回复  |  直到 15 年前
        1
  •  2
  •   Goz    15 年前

    你是专门的两种形式的构造器。为什么你会惊讶它链接了两个表单?