为什么会出现下面的错误?
#include <type_traits>
template<typename FooType>
struct bar {
using bar_type = typename FooType::foo_type;
};
template<typename T>
struct foo {
using foo_type = T;
//Error: No type named 'bar_type' in 'bar<foo<int> >'
static_assert(std::is_same<foo_type,typename bar<foo<T>>::bar_type>::value,"");
};
int main(int argc, char **argv)
{
bar<foo<int>> b;
return 0;
}