読者です 読者をやめる 読者になる 読者になる

VS2013のバグ?クラス内非型テンプレートクラスをクラス内の宣言部で非型を使って展開するとできない。ってこう書いても何言ってるかわからんね

なんかVSバグ?タグ作ったほうが良い気がした
タイトルの通り

#include<tuple>
#include<type_traits>
#include<iostream>

struct C
{
	template<size_t n>	struct inner
	{
		using type = int;
	};

	template<size_t ...N>
	static std::tuple<typename inner<N>::type...> f();//←
	template<size_t ...N>
	struct g
	{
		std::tuple<typename inner<N>::type...> t;//←
	};

	template<size_t ...N>
	static std::tuple<C::inner<N>...> f2();//←
	template<size_t ...N>
	struct g2
	{
		std::tuple<C::inner<N>...> t;//←
	};
};

←のところがなぜかコンパイルが通らない。size_tの代わりにclassを使うのは動く。理不尽だ