c - 当没有可返回的有效值时,在 C 中该怎么办?

标签 c function declaration

我有一个由几个参数和一个唯一 ID 定义的元素数组,我创建了一个函数,它返回与某个唯一 ID 关联的元素,问题是如果输入了无效 ID(一个不是由数组存储),我的函数没有返回有效值。

我的问题是,如果函数不一定返回某些内容,我的代码将无法编译,有没有办法告诉编译器可以在此处执行此操作?

谢谢。

最佳答案

有几种方法可以做到这一点。

最简单的方法是返回一个不在有效值范围内的值。

另一种方法是再声明一个参数,该参数是指向用作错误的变量的指针。或者返回一个错误值并将有效值作为像引用一样声明的参数返回。

例如

int /* error */ f( T *valid_value );

另一种方法是返回一个包含两个值的结构,其中一个是报告失败或成功的 bool 值。

关于c - 当没有可返回的有效值时,在 C 中该怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42187469/

相关文章:

c++ - 对共享变量的无保护访问总是数据竞争吗?

c - 我可以在一个订单中有多少个连续的嵌套指针(指向指针的指针)?做引用有限制吗?

c++ - std::bind 头文件声明

Javascript 函数并不执行所有指令

C++ : how to make sure all variables are initialized?

visual-studio-2008 - 在友好类中声明的友元函数,GCC 不编译

c++ - 丢弃理论上使用但技术上未使用的功能

c - 为什么我的 calloc 无法将所有内容清零?

php - preg_replace_all() 相关问题

sql - Postgresql 在函数内执行动态查询返回 NULL