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