В чем разница между двумя отмеченными строками в коде ниже?В чем разница между этими двумя typedefs?
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; // <---
};
Ошибка, что я RECIVED является:
test_t.C: In instantiation of 'const char B::c [1]':
test_t.C:7: instantiated from here
test_t.C:7: internal compiler error: in instantiate_decl, at cp/pt.c:15628
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.
Почему люди настаивают на пометке вопросов тегом [tag: c], когда он явно не может быть C-кодом, потому что он использует такие вещи, как шаблоны? –
Я уверен, что нет никакой разницы. Почему, по-вашему, есть один? –
@ R.MartinhoFernandes, я почти уверен, что это из-за этой бессмыслицы «C/C++». – Griwes