gpt4 book ai didi

c++ - 错误 C2664 : cannot convert parameter 1 from 'int' to 'int (__cdecl *)(int)'

转载 作者:太空狗 更新时间:2023-10-29 23:47:18 29 4
gpt4 key购买 nike

将一个函数作为另一个函数的参数传递时遇到一些问题...

ERROR: Error 1 error C2664: 'wrapper' : cannot convert parameter 1 from 'int' to 'int (__cdecl *)(int)'

int inc( int n )
{
return n + 1 ;
}

int dec( int n )
{
return n - 1 ;
}

int wrapper( int i, int func(int) )
{
return func( i ) ;
}


int main(){

int a = 0 ;

a = wrapper( 3, inc( 3 ) ) ;

return 0 ;

}

最佳答案

您将函数调用 inc(3) 的结果传递给 wrapper,而不是预期的函数指针。

a = wrapper(3, &inc) ;

关于c++ - 错误 C2664 : cannot convert parameter 1 from 'int' to 'int (__cdecl *)(int)' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6332078/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com