[問題] string 跟 partition 的關係?

看板C_and_CPP (C/C++)作者 (ger)時間15年前 (2011/05/09 10:42), 編輯推噓4(407)
留言11則, 7人參與, 最新討論串1/1
直接簡單貼一段code來說, 這是我的問題簡化後的code 使用軟體是dev c++ ============================ #include<string> // line 1 using namespace std; // line 2 int partition = 0; int main(){ partition = 1; return 1; } ============================ 如上, 當 partition 宣告成全域變數時, compiler 卻跟我說 'partition' undeclared 但是當我做以下三種動作其中之一時, 卻又讓我通過. 1. partition改名, ex: 字尾多個s 2. 拿掉line 1或line 2 3. 將變數宣告搬進main, 改成區域變數 原本以為是不是什麼保留字或class 但我找半天也找不到為什麼, 只找到partition在python跟ruby有特別用法, 可是我寫的又不是這兩個語言..... 雖然要解決是很簡單 但我還是想知道為什麼會這樣 請各位指教一下 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 175.181.130.127

05/09 10:52, , 1F
不要用這個名字,已經有人用了
05/09 10:52, 1F

05/09 10:52, , 2F
因為 std::partition 是 stl 裡的 function
05/09 10:52, 2F

05/09 10:53, , 3F
所以有 ambiguous, 在 main 裡用 ::partition = 1 吧
05/09 10:53, 3F

05/09 11:01, , 4F
大概瞭解了...感謝樓上, 從c轉來c++一整個還是不習慣 orz
05/09 11:01, 4F

05/09 11:41, , 5F
把 using namespace std 刪掉就可以了...XD
05/09 11:41, 5F

05/09 14:19, , 6F
= =不要太喜歡用 using
05/09 14:19, 6F

05/09 17:36, , 7F
可是我爆愛用
05/09 17:36, 7F

05/09 18:08, , 8F
不要放在header內就好
05/09 18:08, 8F

05/09 18:42, , 9F
不覺得每個東西前都加 std:: 很飛訊嗎? 這樣就不會有
05/09 18:42, 9F

05/09 18:42, , 10F
空白處了
05/09 18:42, 10F

05/09 19:02, , 11F
不過打字比較累一點 XD
05/09 19:02, 11F
文章代碼(AID): #1DnrIJEK (C_and_CPP)
文章代碼(AID): #1DnrIJEK (C_and_CPP)