Visual Studio 目前有一个问题,导致以下内容无法编译,出现错误,
错误 C2797:“vec::v”:未实现成员初始化器列表或非静态数据成员初始化器内的列表初始化
#include <array>
template<class T, int C>
struct vec
{
typedef T value_type;
enum { num_components = C };
std::array<T, C> v;
template<typename ...Args>
vec(Args&&... args) : v{{args...}} {}
};
template<class T>
struct vec2 : vec<T, 2>
{
vec2(T x, T y) : vec(x, y) {}
};
int main(void)
{
vec<float, 2> v(10.0f, 20.0f);
}
它的Microsoft Connect 票证已关闭,但有一篇关于它的 MSDN 文章建议“使用内部列表的显式构造”。我不明白如何做到这一点,而且代码对我来说看起来很陌生(初学者)。
任何人都可以协助使用 std::array 的示例吗?