【发布时间】:2015-11-04 11:53:32
【问题描述】:
我正在尝试使用传递引用将错误传递给主函数,但是当我编译以下代码时出现错误
错误:一元“*”的类型参数无效(具有“int”)
主要代码:
main()
{
.
.
int error=-1;
foo(..., error);
.
.
}
功能代码:
foo(..., int &error)
{
if ( ...)
*error = errno;
}
errno 是 linux 系统调用的标准错误集。
头文件中定义了整型变量errno,由系统调用和一些库函数设置,在发生错误时指示出错的原因。
【问题讨论】:
-
引用不是指针。一元
*用于指针。error是一个参考。 -
你的 foo 函数需要一个引用,你把它当作一个指针
-
感谢您指出这一点
标签: c++ linux function pointers