什么是更好的:void foo()或void foo(void)?随着虚空,它看起来丑陋和不一致,但我被告知它是好的.这是真的?
编辑:我知道一些旧的编译器做了奇怪的事情,但如果我只使用GCC,那void foo()好吗?将foo(bar);随后被接受?
可能重复:
C++为什么在params中放空?
这两个声明之间有什么区别,哪个更常用?
void function1();
Run Code Online (Sandbox Code Playgroud)
和
void function2( void );
Run Code Online (Sandbox Code Playgroud) 我有一个使用这个函数原型的C库,我想在C++中使用它
int mlx_key_hook(void *win_ptr, int (*funct_ptr)(), void *param);
Run Code Online (Sandbox Code Playgroud)
但实际上所要求的功能是
int funct_ptr(int keycode, void *param);
Run Code Online (Sandbox Code Playgroud)
事实上我有这个问题:为什么在params中放空?
然后,我问你如何用适当的C++ funct_ptr调用这个函数?
还是我在更改了funct_ptr原型后重新编译了这个库?
这不起作用:
mlx_key_hook(win_ptr, [](int keycode, void *param) -> int {
return 0;
}, NULL);
Run Code Online (Sandbox Code Playgroud)
这项工作,但这不是我想要的:
mlx_key_hook(win_ptr, []() -> int {
return 0;
}, NULL);
Run Code Online (Sandbox Code Playgroud)