Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/131.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 实例化错误后的显式专门化_C++_Templates_Template Specialization - Fatal编程技术网

C++ 实例化错误后的显式专门化

C++ 实例化错误后的显式专门化,c++,templates,template-specialization,C++,Templates,Template Specialization,我有一个模板类名Vec3 代码如下: Vec3.h: template< typename T > class Vec3_T { public: //! internal struct union { struct { T x, y, z; }; T _m[3]; }; static const Vec3_T<T> ZERO; };

我有一个模板类名Vec3

代码如下:

Vec3.h:

template< typename T >
class Vec3_T
{

public:

    //! internal struct
    union
    {
        struct
        {
            T   x, y, z;
        };
        T _m[3];
    };

    static const Vec3_T<T> ZERO;
};


Vec3.cpp

template<> const Vec3_T<float> Vec3_T<float>::ZERO( 0.f, 0.f, 0.f );
Vec3.h:
模板
第3类
{
公众:
//!内部结构
联盟
{
结构
{
tx,y,z;
};
T_m[3];
};
静态常数向量为零;
};
Vec3.cpp
模板常量Vec3_T Vec3_T::零(0.f,0.f,0.f);

当我使用XCode5编译它时,给我一个错误:实例化后显式专门化'ZERO'。但它可以在vs2008上成功编译。那么,如何修复它呢?

也许这里回答了这个问题:你的意思是
模板常量Vec3_T Vec3_T::ZERO{0.f,0.f,0.f}?或者您忘记在代码中添加
Vec3\u T(T,T,T)
构造函数……这似乎是Xcode本身的一个bug。你找到解决办法了吗?