【发布时间】:2020-12-07 23:09:53
【问题描述】:
我知道标题不是自我解释的,但我无法用几句话来表达。 无论如何,问题是我有一个 C 函数,它返回一个由 3 个整数组成的结构。这是它的定义。
typedef struct {
uint8_t r;
uint8_t g;
uint8_t b;
} Color;
这里是函数
Color PPMImage_getPixel(PPMImage *ppmImage, uint32_t x, uint32_t y) {
// FIXME: Check if (x, y) is in bounds.
return ppmImage->data[y * ppmImage->width + x];
}
现在,当特定条件失败时,我想返回一个错误值,告诉调用者该函数遇到错误,但我不能,因为返回值是一个具有 3 个无符号整数的结构,而我不能,因为例如,将每个字段设置为 -1 或返回 NULL 因为我没有返回指针。有没有一种优雅而有效的方法来做到这一点?
【问题讨论】:
标签: c function error-handling return