c++ 非静态函数传参c函数
时间: 2023-11-03 20:36:38 浏览: 80
可以通过以下两种方式传参:
1. 通过函数参数传递。在非静态函数中声明一个参数类型为函数指针的变量,例如 void (*func_ptr)(int),然后在函数调用时传入一个符合该函数指针类型的函数名即可。
2. 通过全局变量传递。将函数指针声明为全局变量,在非静态函数中直接使用该变量即可。需要注意的是,全局变量的使用可能会带来代码可读性和安全性的问题,应该慎重使用。
相关问题
c++ 类的非静态成员函数传参c函数
可以作为参数传递给类的非静态成员函数。在C++中,C函数可以被视为一个函数指针,因此可以将其作为参数传递给非静态成员函数。例如,以下是一个类的非静态成员函数,它将接收一个指向C函数的指针作为参数:
```c++
class MyClass {
public:
void myFunction(void (*cFunction)(int)) {
// Call the C function with an integer argument
(*cFunction)(42);
}
};
// Define a C function that can be passed as an argument to myFunction
void myCFunction(int n) {
std::cout << "The C function was called with argument " << n << std::endl;
}
int main() {
// Create an instance of MyClass
MyClass myObj;
// Pass the C function as an argument to myFunction
myObj.myFunction(&myCFunction);
return 0;
}
```
输出结果为:
```
The C function was called with argument 42
```
阅读全文