동일한 서명을 가진 3 개의 함수가 있습니다. 함수 포인터를 사용하여 배열을 초기화해야합니다. 내가 가진 :함수에 대한 포인터 배열 C++
typedef void(*sorting_func) (int* a, int n);
과 기능 :
class Sortings {
public:
static void bubble_sort(int a[], int n);
static void bubble_aiverson_1(int a[], int n);
static void bubble_aiverson_2(int a[], int n);
};
I는 다음과 같이 사용하는이 클래스의 포인터와 배열이 필요합니다
Sortings::array[0]...
기능은 정적이지 될 수 있습니다.
거의 완료되었습니다. 어떤 특정 문제가 있습니까? – vz0
정적 함수가 없다면 정렬 함수의 타입은'void (Sortings :: *) (int *, int);'입니다. 여러분의 필요에 따라,'std :: function'도 옵션이 될 수 있습니다. – chris
정적 멤버 함수가 아닌 멤버 함수가 필요하면 원하는 서명이 없습니다. 그러나 그 서명이 필요하지 않을 수도 있습니다. sortings 객체에 멤버에 대한 포인터의 정적 배열을 가질 수 있습니다. 그래서 some_instance_of_Sortings 할 수 있습니다. * Sortings :: array [i] (some_int_ptr, size); 더 나은 점은 operator []가 훨씬 많은 구문 론적 설탕으로 위를 수행하도록 정의 할 수 있다는 것입니다. – Mike