在将VC ++代码从VS6(1998)迁移到VS5(晚年)时,我不得不从项目属性 - >预处理器中删除__STDC__
。它修复了很多'tagVariant'相关的错误。
接下来发生的事情是许多项目文件中都没有识别出函数定义。
所以我在问题文件中添加了#define __STDC__
,这也解决了许多无法识别的函数定义相关错误。
现在项目在编译一个文件时只留下一个错误
“胎儿错误(1017)ctype.h中的无效整数常量表达式”及其指向ctype.h中#define !__STDC__
等行号362的代码
任何想法 - 建议?
我尝试过 - 删除您在本地添加的所有#define __STDC__
。如果尚未从预处理器定义中删除__STDC__
,也请将其删除。
选择解决方案资源管理器中的所有.c文件,然后在解决方案资源管理器上下文菜单中选择属性。在属性对话框中,为C / C ++ \ Language \ Disable Language Extensions属性选择/ Za。
让我回到了 - > 错误C2065:'xyz':未声明的标识符 :错误C2182:'pqr':非法使用'void'类型 :错误C2065:'some variable':未声明的标识符 :错误C2146:语法错误:缺少';'在标识符'classname'之前 :错误C2143:语法错误:缺少';'在'*'之前 :错误C4430:缺少类型说明符 - 假定为int。注意:C ++不支持default-int :错误C4430:缺少类型说明符 - 假定为int。注意:C ++不支持default-int :错误C2040:'variable2':'int *'的间接级别与''unknown-type''不同 。 。 。 所有错误都在我的文件中。 参考: http://social.msdn.microsoft.com/Forums/en-US/e68b0af5-ed25-4953-80e7-e88463149b77/fatal-error-1017-invalid-integer-constant-expression-in-ctypeh-during-migration-from-vs6-to-vs5?forum=vcgeneral
答案 0 :(得分:-1)