Amn
August 30th, 2002, 04:22 PM
Hei all !
I have an BIG application consisting of tens of files i developed in VC++ 6.0 that compiled and ran great. Now i installed the VC++ .NET instead and it gives me compiler error
C2879 -
error C2879: 'DataCoach::globalMemFile' : only an existing namespace can be given an alternative name by a namespace alias definition
The following cxode which compiled great before under VC++:
//DataCoach_globalMemFile.h follows
class DataCoach::globalMemFile: public CMemFile
{
} //the class is not empty but here is for simpl. reasons
//...
//DataCoach_globalMemFile.cpp follows
#include "DataCoach_globalMemFile.h"
namespace globalMemFile = DataCoach::globalMemFile;
//...
I might suspect some warning level raised which causes the warning in previous versions become an error. I am well aware of the C++ standard, but this issue is quite complicated just to lookup in the standard specification, so I am asking you gurues - Is this code legal ? Should it be ? Under which standard it should be legal ? Is Microsoft again inventing its own "language extensions" ....
Basically all i care is Bjarne Strustrup's C++ cpecs, not Microsofts, but here it would require to swap approx. 1000 lines of code because of this, so i basically need to REMOVE the error without changing the code - if it compiled before it just as well might compile now , rite ? ;)
Thanks a lot,
i hope others will benefit from this too..
Amn.
I have an BIG application consisting of tens of files i developed in VC++ 6.0 that compiled and ran great. Now i installed the VC++ .NET instead and it gives me compiler error
C2879 -
error C2879: 'DataCoach::globalMemFile' : only an existing namespace can be given an alternative name by a namespace alias definition
The following cxode which compiled great before under VC++:
//DataCoach_globalMemFile.h follows
class DataCoach::globalMemFile: public CMemFile
{
} //the class is not empty but here is for simpl. reasons
//...
//DataCoach_globalMemFile.cpp follows
#include "DataCoach_globalMemFile.h"
namespace globalMemFile = DataCoach::globalMemFile;
//...
I might suspect some warning level raised which causes the warning in previous versions become an error. I am well aware of the C++ standard, but this issue is quite complicated just to lookup in the standard specification, so I am asking you gurues - Is this code legal ? Should it be ? Under which standard it should be legal ? Is Microsoft again inventing its own "language extensions" ....
Basically all i care is Bjarne Strustrup's C++ cpecs, not Microsofts, but here it would require to swap approx. 1000 lines of code because of this, so i basically need to REMOVE the error without changing the code - if it compiled before it just as well might compile now , rite ? ;)
Thanks a lot,
i hope others will benefit from this too..
Amn.