[問題] 巢狀類別的疑問 nested class

看板C_and_CPP (C/C++)作者 (請把你臉上的洨擦乾淨)時間14年前 (2011/09/07 18:05), 編輯推噓0(0025)
留言25則, 4人參與, 最新討論串1/1
小弟想請問一個關於巢狀類別的問題 code 如下: class A { public: A(); ~A(); private: class B { public: B(int x); ~B(); private: } B *B_Pointer; } A:A() { B_Pointer = new B[50];//這行出了問題 } 編譯錯誤訊息為找不到B() 但我是要allocate memory阿.... 請問這該怎麼辦才好 我google道這篇 http://caterpillar.onlyfun.net/Gossip/CppGossip/NestedClasses.html 上面寫得跟我很像 所以我還是不懂該怎麼改正 小弟是C++新手 請各位大大多多指教= = 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.195.148

09/07 18:09, , 1F
你 new 那行會呼叫 B(), 可是你沒實作這個建構式啊
09/07 18:09, 1F

09/07 18:09, , 2F
沒有那個建構式, 編譯器要怎麼知道你想怎麼 allocate?
09/07 18:09, 2F

09/07 23:21, , 3F
B_Pointer = new B[50]; 我是要allocate memory到 B_Pointer耶
09/07 23:21, 3F

09/07 23:22, , 4F
下一步才要 for (i=0 -> 49) B_Pointer[i] = B(int) ; 吧?
09/07 23:22, 4F

09/07 23:22, , 5F
有人可以教我嗎~~~實在不知道是哪裡出了問題...感謝
09/07 23:22, 5F

09/07 23:29, , 6F

09/07 23:32, , 7F
09/07 23:32, 7F

09/08 09:48, , 8F
沒用耶..
09/08 09:48, 8F

09/08 09:49, , 9F
他還是誤以為那是function...說B()是undefined reference..
09/08 09:49, 9F

09/08 09:51, , 10F
阿沒事 我忘了定義空的B() 暫時應該沒問題了
09/08 09:51, 10F

09/08 09:57, , 11F
我有時候覺得james732有天會回答到哭出來.那個連結哪裡
09/08 09:57, 11F

09/08 09:58, , 12F
不可以,我下-Wall -Wextra -pedantic如此嚴的條件都可以
09/08 09:58, 12F

09/08 10:08, , 13F
不知道為什麼還沒辦法耶 還是沒有成功allocate memory
09/08 10:08, 13F

09/08 10:09, , 14F
編譯是過了沒錯
09/08 10:09, 14F

09/08 10:10, , 15F
請貼code上來
09/08 10:10, 15F

09/08 10:15, , 16F
http://codepad.org/FAtVCbBo 麻煩了.....感謝
09/08 10:15, 16F

09/08 10:30, , 17F

09/08 10:37, , 18F
我看不出來你改了甚麼耶....能提示一下嗎
09/08 10:37, 18F

09/08 10:42, , 19F
我知道哪裡出問題了 其實跟nested class無關...
09/08 10:42, 19F

09/08 10:42, , 20F
是前一個function的問題 我以為我在寫C#= =
09/08 10:42, 20F

09/08 12:16, , 21F
其實我看很開了,佛渡有緣人,善哉。
09/08 12:16, 21F

09/08 12:16, , 22F
有些人給個小提示就會馬上頓悟,有些人給整隻程式還打轉
09/08 12:16, 22F

09/08 12:17, , 23F
芸芸眾生,啥款都有。XD
09/08 12:17, 23F

09/08 12:50, , 24F
james732別出家
09/08 12:50, 24F

09/08 13:09, , 25F
ㄎㄎ 不管怎樣謝謝兩位!
09/08 13:09, 25F
文章代碼(AID): #1EPq7UYr (C_and_CPP)
文章代碼(AID): #1EPq7UYr (C_and_CPP)