使用继承构造函数时VS2015内部编译器错误

时间:2015-07-25 20:59:05

标签: c++ c++11 visual-c++ visual-studio-2015 internal-compiler-error

这是一个10行的C ++ 11程序,大大简化了我正在编写的程序:

} else {
    continue;
}

MSVC 2015输出:

template <typename T> class Base { public:
    template <typename S> Base(S x) {}
};
template <typename T> class Child : public Base<T> { public:
    using Base<T>::Base;
};
template <> class Child<int> : public Base<int> { public:
    using Base<int>::Base;
};

int main()
{
    Child<int> child(8.0f);
}

N.B。 MSVC 2015支持继承构造函数is new with that version

我已经提交过关于此的错误报告,因为至少编译器不应该崩溃。但是,我可以确认这是正确的C ++用法/解决方法吗?

错误报告here

1 个答案:

答案 0 :(得分:6)

正如评论中所提到的,它似乎是一个MSVC问题。使用Clang和-std = c ++ 11快速编译它,没有任何问题。