我正在用c ++做一个简单的游戏,输出到控制台。我使用ncurses为此使用printw。要打印网格,我有一个for循环,如下所示:
for (int j; j < height + 2; j ++){
for (int i; i<width+2; i++){
printw("#");
}
printw("\n");
}
此输出仅是#的一行。起初我以为可能与可变高度有关,所以我将其替换为22。同样,失败的结果。然后,我物理上输入了两个for循环,如下所示:
for (int i; i<width+2; i++){
printw("#");
}
printw("\n");
for (int i; i<width+2; i++){
printw("#");
}
我有两行#!真是奇怪的错误。我也尝试了while循环,但结果却一样。我是C ++的新手,我来自python,所以我可能在这里缺少一些显而易见的东西。预先感谢!
答案 0 :(得分:1)
您没有将变量初始化为DocumentSnapshot document = ...
Map<String, Object> items = (Map<String, Object>) document.get("items");
Set<String> keys = items.keySet();
,因此它们可以是任何东西!像这样重写它:
0
答案 1 :(得分:1)
在Python中,for
循环用于遍历序列(即列表,元组或字符串)。这不太像其他编程语言中的for
关键字,而更像其他面向对象的编程语言中的iterator
方法。
C ++中传统的for
循环不同于Python的循环。 (有一个for
版本,称为C ++ 11中引入的基于范围的for
,类似于Python。)
在C ++中,必须先初始化for
循环中声明的变量,然后才能使用它们,否则行为将是意外的。