Als ik het volgende compileer in msvc++ 6:
Zeurt hij dat het aanroepen van Func() op regel 16 niet mag. Waarom?
Ik heb het idee dat msvc de betekenis van "protected" niet helemaal begrijpt, en denkt dat het ook betrekking heeft op verschillenen tussen instanties i.p.v. classes (want
this->Func() i.p.v. bar->Func() mag wél). Terwijl dat volgens mij niet echt is wat mr. Stroustrup destijds voor ogen had...!?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| class A
{
protected:
virtual void Func() = 0;
};
class B : public A
{
protected:
virtual void Func();
void Foo( A *bar );
};
void B::Foo( A *bar )
{
bar->Func();
} |
Zeurt hij dat het aanroepen van Func() op regel 16 niet mag. Waarom?
Ik heb het idee dat msvc de betekenis van "protected" niet helemaal begrijpt, en denkt dat het ook betrekking heeft op verschillenen tussen instanties i.p.v. classes (want
this->Func() i.p.v. bar->Func() mag wél). Terwijl dat volgens mij niet echt is wat mr. Stroustrup destijds voor ogen had...!?
[ Voor 3% gewijzigd door Jace / TBL op 27-10-2004 11:50 ]
