错误:一元'*'的无效类型参数(有'int')

时间:2015-11-04 11:53:33

标签: c++ linux function pointers

我试图通过引用传递将错误传递给main函数,但是当我编译下面的代码时,我得到一个错误

错误:一元'*'的无效类型参数(有'int')

主要代码:

main()
{
.
.
int error=-1;
foo(..., error);
.
.
}

功能代码:

foo(..., int &error)
{
    if ( ...)
        *error = errno;
}

errno是linux中系统调用的标准错误集。

头文件定义整数变量errno,它由系统调用和一些库函数设置,如果出现错误则表明出现了什么问题。

2 个答案:

答案 0 :(得分:1)

在foo函数中使用引用,稍后将其用作指针。 引用不是指针,因此您的编译器会抛出错误。更改函数以接受指针。

答案 1 :(得分:1)

$("body").on('click','tr .ups',function () { alert("Hi"); }); 不是指针,你不能在它上使用间接(取消引用)运算符error

如果您只想设置其值,请更改

operator*

*error = errno;