马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本人昨天发贴报告了一个UDF编译时的错误,非常莫名其妙的错误:明明定义了变量,却说没有。
假设你程序中有如下语句:
...
int n; //11行
int n1; //12行
n= n1+1; //13行
...
而编译时出现错误:
11行:error C2143: syntax error : missing ';;'; before ';type';
12行:error C2143: syntax error : missing ';;'; before ';type';
13行:error C2065: ';n'; : undeclared identifier
14行:error C2065: ';n1'; : undeclared identifier
程序中写的很清楚,n和n1都已经定义了,为什么还说没定义呢?我折腾半天,终于发现了问题所在:函数中所有变量必须在函数开头定义!否则便出现这样的错误。上面int n;语句之前肯定有其他非定义变量的语句。而for(int n=1;n<=10;n++){...}这样的语句也是非法的,因为变量n应该在前面定义。
我猜测,这个问题的根源在于fluent所用的c编译器语法格式要求太严,近乎苛刻!
PS:本人是从VC开始学C、C++的,对其他的C编译系统不了解,是否其他编译器也存在这种情况,请大家告知。
|