#include <iostream>
double GX00 ( double , double , double , double * ) ;
double GX22 ( double , double , double , double * ) ;
struct pr
{
double ( * fG[ 3 ] ) ( double , double , double , double * ) ;
pr( double ( * ( & pG) [ 3 ] ) ( double , double , double , double * ) )
: fG( ) { fG[ 0 ] = pG[ 0 ] ; fG[ 1 ] = pG[ 1 ] ; fG[ 2 ] = pG[ 2 ] ; }
} ;
int main( )
{
double ( * fG[ 3 ] ) ( double , double , double , double * ) ;
fG[ 0 ] = GX00;
fG[ 1 ] = GX00;
fG[ 2 ] = GX22;
double prx[ 2 ] = { 10 , 1 } ;
struct pr params { fG } ;
std:: cout << params.fG [ 0 ] ( 1 , 0.5 , 1 , prx ) << std:: endl ;
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKCmRvdWJsZSBHWDAwIChkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUqKTsKZG91YmxlIEdYMjIgKGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSopOwoKc3RydWN0IHByCnsKICAgIGRvdWJsZSAoKmZHWzNdKSAoZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlKik7CiAgICBwcihkb3VibGUgKCooJnBHKVszXSkgKGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSopKQogICAgOiBmRygpIHsgZkdbMF0gPSBwR1swXTsgZkdbMV0gPSBwR1sxXTsgZkdbMl0gPSBwR1syXTsgfQp9OwoKaW50IG1haW4oKQp7ICAgICAgIAoKCiAgICBkb3VibGUgKCpmR1szXSkgKGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSopOwoKICAgIGZHWzBdID0gR1gwMDsKICAgIGZHWzFdID0gR1gwMDsKICAgIGZHWzJdID0gR1gyMjsKCiAgICBkb3VibGUgcHJ4WzJdID0gezEwLCAxfTsKICAgIHN0cnVjdCBwciBwYXJhbXMgeyBmRyB9OwogICAgc3RkOjpjb3V0IDw8IHBhcmFtcy5mR1swXSggMSAsIDAuNSAsIDEsIHByeCApIDw8IHN0ZDo6ZW5kbDsKCiAgICByZXR1cm4gMDsKfQ==
compilation info
/home/eDDqEm/ccBrwP7o.o: In function `main':
prog.cpp:(.text.startup+0x33): undefined reference to `GX00(double, double, double, double*)'
collect2: error: ld returned 1 exit status
stdout