Если я правильно понял, что вы пытаетесь сделать, тогда функцию следует объявить следующим образом, как показано в демонстрационной программе
#include <iostream>
void Statement(int *foo) {
std::cout << "Loop run #" << *foo << ". ";
++*foo;
}
int main() {
int foo = 1;
for (; ; ) {
Statement(&foo);
}
}
То есть в бесконечном цикле вы пытаетесьвыходное инкрементное значение foo
.
. В этом случае вы сами увеличиваете значение, на которое указывает указатель, например
++*foo
Если вы хотите ограничить итерации цикла, вы можете использовать дляПример объекта типа unsigned char и определения цикла следующим образом
#include <iostream>
void Statement( unsigned char *foo) {
std::cout << "Loop run #" << int( *foo ) << ". ";
++*foo;
}
int main() {
unsigned char foo = 1;
for (; foo ; ) {
Statement(&foo);
}
}