亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么我可以在私人類型上使用汽車?

為什么我可以在私人類型上使用汽車?

C++
千萬里不及你 2019-07-10 15:33:27
為什么我可以在私人類型上使用汽車?我對下面的代碼編譯和運行(vc 2012&gcc4.7.2)感到驚訝。class Foo {     struct Bar { int i; };public:     Bar Baz() { return Bar(); }};int main() {     Foo f;     // Foo::Bar b = f.Baz();  // error     auto b = f.Baz();         // ok     std::cout << b.i;}這段代碼編譯得很好是正確的嗎?為什么這是正確的?為什么我可以用auto在私有類型上,而我不能使用它的名稱(如預期的那樣)?
查看完整描述

1 回答

?
哆啦的時光機

TA貢獻1779條經驗 獲得超6個贊

訪問控制應用于人名..與標準中的示例相比:

class A {
  class B { };public:
  typedef B BB;};void f() {
  A::BB x; // OK, typedef name A::BB is public
  A::B y; // access error, A::B is private}


查看完整回答
反對 回復 2019-07-10
  • 1 回答
  • 0 關注
  • 459 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號