已经开始撰写关于C ++的论文,并且拥有最有经验的C ++程序员会称之为一个小问题......
我正在使用Visual Studio 2008并使用.NET在Visual C ++中编码。我正在尝试编写最小的应用程序,每次单击按钮时都会在文本框中添加新行。添加新行很简单,但我想为每行添加一个递增的整数,例如,如果我第一次点击一个按钮,“这是第1行”被添加到文本框中,并在第二次单击“这是第2行“被添加到文本框中。我的编程有点生疏,无法想到能够实现这一点的循环结构。
以下是按钮处理程序的代码(带有一些伪代码):
private: System::Void addLine_Click(System::Object^ sender, System::EventArgs^ e) {
int i = 0;
if(button is clicked){
listBox->Items->Add("This is line " + i);
i++;
}
}
Should output something like:
This is line 1
This is line 2
This is line 3
This is line 4
This is line 5
.
.
.
This is line i
我的按钮名称是“addLine”,我希望这些行显示的列表框名称称为“listBox”。
提前感谢您帮助这个C ++ noob :)。
答案 0 :(得分:1)
i
是一个局部变量,因此只要函数退出,它就会失去其范围。您需要将i声明为static
或将其设为类变量。
private: System::Void addLine_Click(System::Object^ sender, System::EventArgs^ e) {
static int i = 0;
if(button is clicked){
listBox->Items->Add("This is line " + i);
i++;
}
}
答案 1 :(得分:0)
我需要成为该类的成员 - 否则增量不会在函数调用后继续存在。