b2581167 該用戶已被刪除 | 本帖最後由 b2581167 於 2015-9-14 10:30 PM 編輯
class Human
{
zzzzz()
};
int main()
{ int a;
cin >> a;
switch(a)
{
case 1:Human c;c.zzzzz();以下省略
}
}
我有個作業大概就是跟上面的流程差不多,但是現在問題就是出在,為什麼我在case裡面不能叫類別, ... |
|
成為伊莉的版主,你將獲得更高級和無限的權限。把你感興趣的版面一步步地發展和豐盛,那種滿足感等著你來嚐嚐喔。 |
| |
| |
- 最後登錄
- 2024-5-24
- 在線時間
- 29002 小時
- 註冊時間
- 2011-12-11
- 閱讀權限
- 95
- 精華
- 3
- UID
- 10643381
- 帖子
- 3224
- 積分
- 24366 點
- 潛水值
- 77420 米
| 分享使你變得更實在,可以使其他人感到快樂,分享是我們的動力。今天就來分享你的資訊、圖片或檔案吧。
class Human
{
zzzzz()
};
zzzzz() 是什麼?
就這麼一句在那邊,不可能編譯成功吧
而且預設是 private
請加上 public:
|
|
Melty Snow [雪靈] 如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。 |
| |
| |
samou568 該用戶已被刪除 | snowflying 大大的意思是- class Human
- {
- public: zzzzz()
- {
- // 省略
- }
- };
- int main()
- {
- int a;
- cin >> a;
- switch(a)
- {
- case 1: Human c; c.zzzzz();
- // 以下省略
- }
- }
複製代碼 ... |
|
如果你忘記伊莉的密碼,請在登入時按右邊出現的 '找回密碼'。輸入相關資料後送出,系統就會把密碼寄到你的E-Mail。 |
| |
| |
b2581167 該用戶已被刪除 | 回覆中加入附件並不會使你增加積分,請使用主題方式發佈附件。 本帖最後由 snowflying 於 2015-9-16 11:02 PM 編輯
snowflying 發表於 2015-9-14 11:35 PM
class Human
{
zzzzz()
抱歉在這邊忘記加 我的作業上有加 我這邊只是打個結構一樣 只是命名方式不一樣... |
|
|
| |
| |
b2581167 該用戶已被刪除 | samou568 發表於 2015-9-15 07:39 AM
snowflying 大大的意思是
對是這樣但執行它就會顯示
jump to case label
enters scope of non-POD `Human c'
|
|
|
| |
| |
- 最後登錄
- 2024-5-24
- 在線時間
- 29002 小時
- 註冊時間
- 2011-12-11
- 閱讀權限
- 95
- 精華
- 3
- UID
- 10643381
- 帖子
- 3224
- 積分
- 24366 點
- 潛水值
- 77420 米
| b2581167 發表於 2015-9-16 11:01 PM
抱歉在這邊忘記加 我的作業上有加 我這邊只是打個結構一樣 只是命名方式不一樣 ...
你打得這個連編譯都有問題
這樣怎麼知道你真正的問題在哪裡 ... |
|
Melty Snow [雪靈] |
| |
| |
samou568 該用戶已被刪除 | 回覆中加入附件並不會使你增加積分,請使用主題方式發佈附件。 b2581167 發表於 2015-9-16 11:02 PM
對是這樣但執行它就會顯示
jump to case label
enters scope of non-POD `Human c'
因為你省略很多
所以只能根據看到的修改 ... |
|
|
| |
| |
- 最後登錄
- 2023-4-9
- 在線時間
- 0 小時
- 註冊時間
- 2007-7-16
- 閱讀權限
- 20
- 精華
- 0
- UID
- 1820716
- 帖子
- 177
- 積分
- 6 點
- 潛水值
- 7641 米
| 若對尊貴或贊助會員有任何疑問,歡迎向我們查詢。我們的即時通或MSN: admin@eyny.com 我有學一點C#, C++創建object, 不必使用new嗎?- case 1:
- Human *c = new Human();
- c.zzzz();
- delete c;
- break;
複製代碼 |
|
若瀏覽伊莉的時侯發生問題或不正常情況,請使用Internet Explorer(I.E)。 |
| |
| |
- 最後登錄
- 2023-2-26
- 在線時間
- 1 小時
- 註冊時間
- 2014-1-23
- 閱讀權限
- 20
- 精華
- 0
- UID
- 14075440
- 帖子
- 100
- 積分
- 93 點
- 潛水值
- 9200 米
| 若瀏覽伊莉的時侯發生問題或不正常情況,請使用Internet Explorer(I.E)。 本帖最後由 gitlab 於 2015-9-20 09:34 PM 編輯
我猜你的程式應該是這樣:
switch( a ){
case 1: Human c;
case 2: /* c is valid here */
default: /* c is also valid here */
}
假設 case 1 沒發生,程式就會跳到剩下的 case2 或 default,
他們都在同一個block,這時候 c 是可見、是可以合法使用的, ... |
|
如果你忘記伊莉的密碼,請在登入時按右邊出現的 '找回密碼'。輸入相關資料後送出,系統就會把密碼寄到你的E-Mail。 |
| |
| |
samou568 該用戶已被刪除 | 如果你忘記伊莉的密碼,請在登入時按右邊出現的 '找回密碼'。輸入相關資料後送出,系統就會把密碼寄到你的E-Mail。 tw00167789 發表於 2015-9-20 05:48 PM
我有學一點C#, C++創建object, 不必使用new嗎?
你這樣編譯可以過嗎?
c 宣告為指標, 卻使用 c.zzzz();
|
|
成為伊莉的版主,你將獲得更高級和無限的權限。把你感興趣的版面一步步地發展和豐盛,那種滿足感等著你來嚐嚐喔。 |
| |
| |
- 最後登錄
- 2024-4-21
- 在線時間
- 4 小時
- 註冊時間
- 2014-3-5
- 閱讀權限
- 20
- 精華
- 0
- UID
- 14218862
- 帖子
- 274
- 積分
- 373 點
- 潛水值
- 8890 米
| 本帖最後由 a333221 於 2015-9-23 09:51 PM 編輯
gitlab 在 9 樓回答了你的問題,
另外一種做法是換編譯器,有編譯器支援你的寫法
不過將 class 的宣告移至 case 外感覺好一些
|
|
若新密碼無法使用,可能是數據未更新。請使用舊密碼看看。 |
| |
| |
特質 該用戶已被刪除 | 分享使你變得更實在,可以使其他人感到快樂,分享是我們的動力。今天就來分享你的資訊、圖片或檔案吧。 補充上面的回應
如果真的有需求要在case內宣告變數,只要多加一組大括號{}包住即可避掉scope的問題:
- switch(a)
- {
- case 1:
- {
- Human c; // OK
- // do something
- break;
- }
- }
複製代碼
... |
|
分享使你變得更實在,可以使其他人感到快樂,分享是我們的動力。今天就來分享你的資訊、圖片或檔案吧。 |
| |
| |
Powered by Discuz!
© Comsenz Inc.
重要聲明:本討論區是以即時上載留言的方式運作,對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請聯絡我們。有權刪除任何留言及拒絕任何人士上載留言,同時亦有不刪除留言的權利。切勿上傳和撰寫 侵犯版權(未經授權)、粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。