Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c++ > #3462

Re: // how can I access A::a?

Path csiph.com!x330-a1.tempe.blueboxinc.net!feeder1.hal-mli.net!border3.nntp.dca.giganews.com!Xl.tags.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local2.nntp.dca.giganews.com!news.giganews.com.POSTED!not-for-mail
NNTP-Posting-Date Tue, 12 Apr 2011 06:38:51 -0500
From Pete Becker <pete@versatilecoding.com>
Organization Roundhouse Consulting, Ltd.
Newsgroups comp.lang.c++
Date Tue, 12 Apr 2011 07:38:51 -0400
Message-ID <2011041207385159183-pete@versatilecodingcom> (permalink)
References <bee3f0ea-42ae-4ae4-a254-d5bc9e004f93@k5g2000yqj.googlegroups.com>
MIME-Version 1.0
Content-Type text/plain; charset=iso-8859-1; format=flowed
Content-Transfer-Encoding 8bit
Subject Re: // how can I access A::a?
User-Agent Unison/2.1.4
Lines 52
X-Usenet-Provider http://www.giganews.com
X-Trace sv3-Ko845Ptod3kREvKAMvKVfRjXuh/9CzGK0Ql/9Dlb/w8yij7YCebEcmk2dSR3efAjUm0qAzwPKOutBrO!5CzVsEYwmV0wY0aVY3Nsp/xCWEn7QmfHqqkvj6sMyBF8KAkTYz4gsVwTa23QQTTROxZfvyLY
X-Complaints-To abuse@giganews.com
X-DMCA-Notifications http://www.giganews.com/info/dmca.html
X-Abuse-and-DMCA-Info Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info Otherwise we will be unable to process your complaint properly
X-Postfilter 1.3.40
X-Original-Bytes 2298
Xref x330-a1.tempe.blueboxinc.net comp.lang.c++:3462

Show key headers only | View raw


On 2011-04-11 18:52:40 -0400, dick said:

>         /* multi_level_inheritance.cpp */
>         struct A
>         {
>             int a;
>         };
> 
>         struct B1 : public A
>         {
>             int a;
>         };
> 
>         struct B2 : public A
>         {
>             int a;
>         };
> 
>         struct C : public B1, public B2
>         {
>             int a;
>         };
> 
>         int main()
>         {
>             C ccc;
> 
>             ccc.a=123;
> 
>             ccc.B1::a=456;
> 
> /* 0030 */  ccc.B1::A::a=789;
> 
>         }
> 
> // c++ multi_level_inheritance.cpp
> // multi_level_inheritance.cpp: In function int main():
> // multi_level_inheritance.cpp:30: error: A is an ambiguous base of C
> 
> 
> // how can I access A::a?

There are two A::a's, which is why the error message said that the 
reference to A is ambiguous. You need to decide which one you want to 
access, then name it. Hint: there's one in B1 and one in B2.

-- 
  Pete
Roundhouse Consulting, Ltd. (www.versatilecoding.com) Author of "The 
Standard C++ Library Extensions: a Tutorial and Reference 
(www.petebecker.com/tr1book)

Back to comp.lang.c++ | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

// how can I access A::a? dick <dick_12345678@hotmail.com> - 2011-04-11 15:52 -0700
  Re: // how can I access A::a? Carlo Milanesi <carlo.nospam.milanesi@libero.it> - 2011-04-12 01:08 +0200
    Re: // how can I access A::a? dick <dick_12345678@hotmail.com> - 2011-04-11 16:56 -0700
      Re: // how can I access A::a? Carlo Milanesi <carlo.nospam.milanesi@libero.it> - 2011-04-12 18:46 +0200
        Re: // how can I access A::a? Miles Bader <miles@gnu.org> - 2011-04-13 15:57 +0900
  Re: // how can I access A::a? Pete Becker <pete@versatilecoding.com> - 2011-04-12 07:38 -0400
    Re: // how can I access A::a? Victor Bazarov <v.bazarov@comcast.invalid> - 2011-04-12 13:34 -0400
      Re: // how can I access A::a? Pete Becker <pete@versatilecoding.com> - 2011-04-12 14:20 -0400
        Re: // how can I access A::a? Victor Bazarov <v.bazarov@comcast.invalid> - 2011-04-12 15:01 -0400
          Re: // how can I access A::a? Pete Becker <pete@versatilecoding.com> - 2011-04-12 15:13 -0400

csiph-web