c++/3979: An update to problem #3971

kennedy@roguewave.com kennedy@roguewave.com
Thu Aug 9 14:16:00 GMT 2001


>Number:         3979
>Category:       c++
>Synopsis:       An update to problem #3971
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Aug 09 14:16:01 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     Dennis Kennedy
>Release:        g++ 2.95.2
>Organization:
>Environment:
Red Hat 6.2
>Description:
In order to reproduce the error you must comment out the lines:
/ Try commenting out this operator
template< class T>                                   //[1]
inline B<T> operator *(const B<T> &a, const A<T> &b) //[1]
{                                                    //[1]
  return (const A<T> &)a * b;                        //[1]
}

Here is the real error message.
private.cpp: In function `int main()':
private.cpp:59: fields of `const A<int>' are inaccessible in `B<int>' due to private inheritance
                           
>How-To-Repeat:
g++ -o private private.cpp
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/x-unknown-content-type-cppfile; name="private.cpp"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="private.cpp"

I2luY2x1ZGUgPG1hdGguaD4NCiNpbmNsdWRlIDxpb3N0cmVhbS5oPg0KDQp0ZW1wbGF0ZTwgY2xh
c3MgVCA+IGNsYXNzIEI7DQoNCnRlbXBsYXRlPCBjbGFzcyBUID4gDQpjbGFzcyBBDQp7DQpwdWJs
aWM6DQogIEEoVCB4PTApIHtkYXRhPXg7fQ0KICBBKGNvbnN0IEE8VD4gJlgpIDogZGF0YShYLmRh
dGEpIHt9DQogIHN0YXRpYyBBPFQ+IG11bHRpcGx5KGNvbnN0IEE8VD4gJmEsIGNvbnN0IEE8VD4g
JmIpOw0KICB2b2lkIHNob3coKSB7IGNvdXQgPDxkYXRhIDw8IlxuIjsgfQ0KcHJpdmF0ZToNCiAg
VCBkYXRhOw0KfTsgIA0KDQp0ZW1wbGF0ZTwgY2xhc3MgVCA+IA0KY2xhc3MgQiA6IHByaXZhdGUg
QTxUPg0Kew0KcHVibGljOg0KICBCKFQgeD0wKSA6IEE8VD4oeCkge30NCiAgQihjb25zdCBBPFQ+
ICZYICkgOiBBPFQ+KFgpIHs7fQ0KICB2b2lkIHNob3coKSB7IEE8VD46OnNob3coKTsgfQ0KfTsN
Cg0KdGVtcGxhdGU8IGNsYXNzIFQ+DQpBPFQ+IEE8VD46Om11bHRpcGx5KGNvbnN0IEE8VD4gJmEs
IGNvbnN0IEE8VD4gJmIpIA0KeyANCiAgcmV0dXJuIEE8VD4oYS5kYXRhICogYi5kYXRhKTsgDQp9
DQoNCnRlbXBsYXRlPCBjbGFzcyBUPiANCmlubGluZSBBPFQ+IG9wZXJhdG9yICooY29uc3QgQTxU
PiAmYSwgY29uc3QgQTxUPiAmYikNCnsNCiAgcmV0dXJuIEE8VD46Om11bHRpcGx5KGEsYik7DQp9
DQoNCnRlbXBsYXRlPCBjbGFzcyBUPg0KaW5saW5lIEI8VD4gb3BlcmF0b3IgKihjb25zdCBCPFQ+
ICZhLCBjb25zdCBCPFQ+ICZiKQ0Kew0KICByZXR1cm4gKGNvbnN0IEE8VD4gJilhICogKGNvbnN0
IEE8VD4gJiliOw0KfQ0KDQojaWYgMA0KLy8gVHJ5IGNvbW1lbnRpbmcgb3V0IHRoaXMgb3BlcmF0
b3INCnRlbXBsYXRlPCBjbGFzcyBUPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly9bMV0NCmlubGluZSBCPFQ+IG9wZXJhdG9yICooY29uc3QgQjxUPiAmYSwgY29uc3QgQTxUPiAm
YikgLy9bMV0NCnsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy9bMV0NCiAgcmV0dXJuIChjb25zdCBBPFQ+ICYpYSAqIGI7ICAgICAgICAgICAgICAg
ICAgICAgICAgLy9bMV0NCn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy9bMV0NCiNlbmRpZg0KDQoNCmludCBtYWluKCkNCnsNCiAgQjxpbnQ+IG8y
KDEwMCk7DQogIEE8aW50PiBvMSgyNik7DQogIG8yID0gbzIgKiBvMTsNCiAgbzIuc2hvdygpOw0K
ICByZXR1cm4gMTsNCn0NCg==



More information about the Gcc-prs mailing list