VC++ .NET 2002 и частичная специализация (?)
От: al_kotov Украина  
Дата: 18.05.03 00:32
Оценка:
Hi!

Тема, возможно, сформулирована некорректно, но проблема до убожества проста:

#include <list>

using namespace std;

struct t;
list<t> a;

struct t {
  int i;
}

int main( int argc, char *argv[] ) {
    return 0;
}


не компилируется этим VC++ .NET 2002 вообще. Причем VC++ 6.0 SP5 никакого криминала не находит. Как, впрочем, и gcc 3.2.3. В результате чего я уже пару часов в ступоре

Сама по себе проблема возникла из-за того, что в проекте есть две взаимозависимые структуры вида:

struct a;

struct b {
    list<a> data;
};

struct a {
   b data;
};


Чем его стукнуть-то чтобы компилилось? Откатиться на предыдущую версию не могу по лицензионным соображениям, а переписать проблемный участок могу только в ограниченном объеме из-за временных ограничений. Какой-нибудь готовый рецепт есть? А как VC++ .NET 2003 справляется с первым фрагментом кода?

SY,
Alex Kotov
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.