2016-11-27 8 views

答えて

2

(*x)xを確保するには、ポインタが、その後(*x)(double)は私たちにそのパラメータダブル、横にある機能は、最後に私たちに与えるint int (*p)[3]によってppが描かれているポインタを返すことを意味します(*(*x)(double))ある関数ポインタを与えるですint[3]

したがって、ここでは、単一パラメータがdoubleであり、関数がint [3]の配列を指すポインタを返す関数を指すポインタを示しています。

はここでそれを実証するための簡単な例ですが、それが参考になることを願って。

#include <iostream> 
using namespace std; 

typedef int int3[3]; 
int arr3[3]{1, 2, 3}; 

int3 * get3Int(double x){ 
    int (*arr)[3] = &arr3; 
    return arr; 
} 

int testFunctionPointer(int (*(*x)(double))[3]){ 
    int (*arr)[3] = x(1.0); 
    for(auto n: *arr) 
     cout<<n<<endl; 
    return 0; 
} 

int main(){ 
    testFunctionPointer(get3Int); 
    return 0; 
} 
関連する問題