首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在英特尔C编译器中为双精度函数返回NULL?

如何在英特尔C编译器中为双精度函数返回NULL?
EN

Stack Overflow用户
提问于 2010-05-28 00:45:52
回答 6查看 4.8K关注 0票数 2

我有一些使用MIPS编译器从SGI系统移植过来的代码。它具有声明为具有双返回类型的函数。如果函数找不到正确的双精度值,这些函数将返回"NULL“

英特尔C编译器不喜欢这样,但我想看看是否有一个编译器选项来启用这个“功能”,这样我就可以在不更改代码的情况下进行编译。我查看了手册页,似乎找不到它。

谢谢

当前存在的代码示例,可以很好地使用MIPS

代码语言:javascript
运行
复制
 double some_function(int param){
     double test = 26.25;
 if(param == 10){
    return test;
 }
 return (NULL);
 }

英特尔编译器报告:错误:返回值类型与函数类型不匹配

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-05-28 01:04:51

根据你的评论:

我刚刚检查过了,调用函数只是把它当作一个有效的双精度值来使用(在if语句中)

我只需将函数修改为return 0;,而不是return NULL;

票数 2
EN

Stack Overflow用户

发布于 2010-05-28 00:47:51

通过编译器选项,可能有一个"NaN“(而不是一个数字)功能。但这仍然不会是null。

票数 3
EN

Stack Overflow用户

发布于 2010-05-28 00:51:06

这不是一个编译器选项,但您可以(在理论上)使用#define NULL 0来获得所需的效果。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2923067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档