コードは次のとおりです。
#include<iostream>
using namespace std;
typedef struct ptrs
{
int (*addptr)(int a, int b);
}mems;
int add(int a, int b)
{
int result = a+b;
return result;
}
int main()
{
mems ptrtest;
ptrtest.addptr = &add;
int c = (*ptrtest.addptr)(3,4);
//int c = ptrtest.addptr(3,4);
cout << c << endl;
return 0;
}
コードを置き換えるとint c = (*ptrtest.addptr)(3,4); それが次の行(現在注釈付き)であるため、結果は同じになります。なぜですか?