我正在迁移一个旧项目以在较新版本的 Visual Studio 中编译。编译旧结构时出现编译器错误 C4430:
struct SHOP_ITEM_LIST
{
char title[50];
char description[200];
_ARRAY(SHOP_ITEM); // Another Struct with some integer and char array values
};
我研究了这个错误并发现自 VC++2005 以来,不再允许缺少类型说明符。它不再被解释为整数。
我不熟悉 std::_Array< _Tp > 并且不知道它在带有 sizeof() 的结构中使用时的行为。int _ARRAY(SHOP_ITEM);
只是做这个把戏,还是会操纵结构的大小?
将此结构升级到 VC++2005 及更高版本的正确方法是什么?