簡體   English   中英

在C ++中存儲隊列大小的問題

[英]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();

queueint都具有相同的變量名。 重命名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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM