образца коды выглядит следующим образом:структуры в классе шаблона
struct TEMP
{
int j;
TEMP()
{
j = 0;
}
};
template<typename T>
class classA
{
struct strA
{
long i;
strA():i(0) {}
};
static strA obj_str;
classA();
};
template<typename T>
classA<T>::classA()
{}
template<typename T>
classA<TEMP>::strA classA<TEMP>::obj_str;
int main()
{
return 0;
}
при компиляции этого кода, я получаю следующее сообщение об ошибке:
test1.cpp:32: internal compiler error: in import_export_decl, at cp/decl2.c:1970 Please submit a full bug report, with preprocessed source if appropriate. See http://bugzilla.redhat.com/bugzilla> for instructions. Preprocessed source stored into /tmp/ccUGE0GW.out file, please attach this to your bugreport.
Я строй этого кода на x86_64-RedHat-Linux машине , а версия gcc - версия gcc 4.1.2 20070626 (Red Hat 4.1.2-14)
Обратите внимание, что этот код уже был построен с версией gcc версии 3.4.5 20051201 (Red Hat 3.4.5-2) на i386- машина redhat-linux.
Любая идея, почему это невозможно построить с помощью gcc 4.1.2.
Заранее спасибо.
Вы отправили полный отчет об ошибке? Это то, что говорит вам ошибка. На данный момент вы можете попробовать использовать другой компилятор [версия]. – strager
Нашли сообщение об ошибке здесь: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24791 - это похоже на вариант этого. –
Внутренняя ошибка компилятора всегда означает, что что-то не так с компилятором, поэтому не думайте, что это ваша ошибка. – 2009-09-30 10:57:54