See the code below:
template <typename TValueType, unsigned int VLength=3>
class FixedArray
{
public:
typedef TValueType ValueType;
FixedArray(const ValueType r[VLength]);
};
template <typename TValueType, unsigned int VLength>
FixedArray<TValueType, VLength>
::FixedArray(const ValueType r[VLength])
{
}
Everything works if I remove the superflouos VLength size, but this is a third-party library (ITK) so it isn’t really an option. Using CUDA 3.0. I couldn’t find why this argument length is even needed, but both MSVC and GCC accept it