[英]Issue storing the size of a queue in C++
我試圖將隊列的大小存儲在C ++中的int中。 我對此很陌生,但是我不知道自己可能做錯了什么。 我收到此錯誤消息:
“錯誤:請求'free_men'中的成員'size',它是非類類型'int'”
這是代碼:我初始化了隊列,只是用n個數字填充它。
queue<int> free_men;
for(int i = 0; i < n; ++i) {
free_men.push(i + 1);
}
int free_men = free_men.size();
queue
和int
都具有相同的變量名。 重命名int
變量。
queue<int> free_men;
for(int i = 0; i < n; ++i) {
free_men.push(i + 1);
}
int free_men_size = free_men.size();
令人驚訝的是,該錯誤消息沒有更加明確。
您有一個重復的變量名。
您將看到的不僅僅是您提到的編譯器消息,因為在同一范圍內重新聲明free_men
(如int
)是非法的。
queue<int> free_men;
for(int i = 0; i < n; ++i) {
free_men.push(i + 1);
}
int number_of_free_men = free_men.size(); // NOTE fixed name clash
您在這里有兩個變量,它們在同一范圍內都具有相同的名稱。 如果將最后一行更改為:
int free_men_size = free_men.size()
事情可能會更好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.