C ++传递指针两次?

时间:2013-06-02 04:22:11

标签: c++ pointers

我无法弄明白:我必须将指针传递给一个函数,然后在这个函数的某个地方我需要再次将指针传递给第二个函数。

基本上是这样的:

int main()
{
  int x = 1;
  foo(&x);
}


void foo(int *p)
{
  foo2(p);
}

void foo2(int *p)
{
   *p = 2;
}

我尝试了多种方法,但我做不到。这是怎么做到的?

1 个答案:

答案 0 :(得分:3)

在C ++中,您需要在使用它们之前声明函数。

// Declare the functions to be defined later.
// this lets us use them in main before we write the
// definitions.
void foo(int *);
void foo2(int *);

int main()
{
  int x = 1;
  foo(&x);
}


void foo(int *p)
{
  foo2(p);
}

void foo2(int *p)
{
    *p = 2;
}