找回密码
 注册
查看: 3072|回复: 3

编译UDF时的奇怪问题及其解决办法

[复制链接]
发表于 2006-1-3 12:51:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

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编译系统不了解,是否其他编译器也存在这种情况,请大家告知。
发表于 2006-3-6 19:52:47 | 显示全部楼层

编译UDF时的奇怪问题及其解决办法

好像定义变量都是从“{”开始的
发表于 2006-3-9 10:45:50 | 显示全部楼层

编译UDF时的奇怪问题及其解决办法

这是因为你用了c的编译器,
这确实很让人恼火。
假如你用C++编译器就不一样了。
参见:http://219.232.54.3/cgi-bin/LB5000/topic.cgi?forum=51&topic=78
发表于 2011-1-22 14:40:56 | 显示全部楼层
这问题不奇怪
//, 这个注释方式是c++的,fluent不支持
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表