Getting segfault using member-function pointers
I'm not sure why I'm getting a segfault in this very simple code. I'm just playing around trying to get a feel for member function pointers right now:
Code:
#include <iostream>
typedef unsigned char uchar;
typedef unsigned int uint;
struct AXS_CONTROL{
uint viewCostInfo(uint);
uint viewHarvestInfo();
};
typedef uint(AXS_CONTROL::*cost)(uint);
typedef uint(AXS_CONTROL::*harvest)();
uint AXS_CONTROL::viewCostInfo( uint n ){
std::cout << "Viewing cost information: " << n << ".\n";
return n;
}
uint AXS_CONTROL::viewHarvestInfo(){
std::cout << "Viewing harvest information.\n";
return 1;
}
#define CALL_MEMBER_FN(object,ptrToMember) ((object).*(ptrToMember))
int main(){
AXS_CONTROL axs;
cost cst;
uint ans = CALL_MEMBER_FN(axs,cst)(5);
return 0;
}