#include<iostream>
usingnamespace std;
class Data
{
public:
int a;
void print()
{
cout << "a is "<< a;
}
};
int main()
{
Data d, *ptr;
Data *dp = &d; // assign address of object to pointer to class type
int Data = dp->print();
d.*ptr=10;
d.print();
dp->*ptr=20;
dp->print();
}
error: void value not ignored as it ought to be
int Data = dp->print();
^
error: 'ptr' cannot be used as a member pointer, since it is of type 'Data*'
d.*ptr=10;
#include<iostream>
usingnamespace std;
class Data
{
public:
int a;
void print()
{
cout << "a is "<< a;
}
};
int main()
{
Data d, *ptr;
Data *dp = &d; // assign address of object to pointer to class type
dp->print();
d.*ptr=10;
d.print();
dp->*ptr=20;
dp->print();
}
error: 'ptr' cannot be used as a member pointer, since it is of type 'Data*'
d.*ptr=10;
^~~
error: 'ptr' cannot be used as a member pointer, since it is of type 'Data*'
dp->*ptr=20;
^~~