Chào các bác,
Các bác cho em hỏi
void traverse_NLR(void f(node<T> *, void *), void *params = 0)
Hàm này nghĩa là sao ạ? Và truyền vào là cái gì ạ? Em cảm ơn
Chào các bác,
Các bác cho em hỏi
void traverse_NLR(void f(node<T> *, void *), void *params = 0)
Hàm này nghĩa là sao ạ? Và truyền vào là cái gì ạ? Em cảm ơn
Là hàm mà nhận vào một đối số là địa chỉ của một hàm khác.
Một ví dụ khá ngớ ngẩn và không có nghĩa gì:
#include <iostream>
void sher(void f(int), void *p = 0) {
f(p ? *(int*)p : 0);
}
void f1(int a) {
std::cout << "print value of a using f1 function: " << a << '\n';
}
void f2(int a) {
std::cout << "print value of a using f2 function: " << a << '\n';
}
int main() {
int a = 10;
sher(f1, &a);
sher(f2, &a);
return 0;
}
Out:
print value of a using f1 function: 10
print value of a using f2 function: 10
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?