我正试图掌握 C++ 中指针和地址的窍门,但在处理参数不断变化的函数时遇到了麻烦。
下面的代码是在无限循环中编写 Loop run #1.
,而不是递增值 foo
。
我的问题是:这段代码有什么问题?
#include <iostream>
void Statement(int *foo) {
std::cout << "Loop run #" << *foo << ". ";
foo++;
}
int main() {
int foo = 1;
for (;;) {
Statement(&foo);
}
}
最佳答案
您正在递增指针本身的拷贝,而不是它指向的内容。你的意思可能是:
(*foo)++;
虽然这仍然无法解决无限循环,因为您没有什么可以阻止它的。
关于c++ - 如何在 C++ 函数中正确使用指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56809537/