"Access to a protected member" build failure(s)
clang 9.0.1
This is a difference of interpretation between gcc and clang.
See
gcc bug#52136 and
clang bug #6840.
class address
{
protected:
static int parseNext(int a);
};
class mailbox : public address
{
friend class mailboxField;
};
class mailboxField
{
void parse(int a)
{
address::parseNext(a);
// will work with:
// mailbox::parseNext(a);
}
};
clang will fail with:
$ clang++ -c mailboxField.cpp
mailboxField.cpp:18:22: error: 'parseNext' is a protected member of 'address'
address::parseNext(a);
^
mailboxField.cpp:5:16: note: declared protected here
static int parseNext(int a);
^
1 error generated.
No error detect for version 9.0.1
0 errors