下面代码中标记的两条线有什么区别?
template <const char *N> struct A {
static const char *p;
};
template <class T> struct B {
static const char c[1];
typedef A<B<T>::c> C; // <---
// typedef A<c> C; // <---
};
我收到的错误是:
test_t.C:在 'const char B::c [1]' 的实例化中:
test_t.C:7:从这里实例化
test_t.C:7:内部编译器错误:in instantiate_decl,在 cp/pt.c:15628
请提交完整的错误报告,
并在适当的情况下提供预处理的源代码。
有关说明,请参见http://gcc.gnu.org/bugs.html。