如何声明一个函数标识符

3
如果我有这样的一段示例代码:
void func_1 {
.......
func_2;
}
func_2{
.......
}

我需要为func_2声明一个函数标识符,以便代码可以运行。我该怎么做?


1
我不明白你在说什么。你想在func_1()结束时运行func_2()吗?你现在有什么问题? - David Thornley
我需要从func_1调用func_2,但问题是我在func_1之后编写了func_2,所以我必须在顶部写一个标识符,对吗? - Shadi
这看起来不像合法的C或C++代码——函数标识符后面有圆括号。声明应该是int f(double x);,定义应该是int f(double x) { return -1; }。你可以在定义func_1之前声明func_2,这样就可以解决问题了。 - Kerrek SB
2个回答

8
如果func_2不调用func_1,那么你可以重新排列它们的顺序:
void func_2()
{
}

void func_1()
{
  // ...
  func_2();
}

如果两个对象互相调用,则可以这样声明:

如果它们彼此相互调用,那么您可以这样声明:

void func2();
void func1()
{
  // ...
  func2();
}

void func2()
{
  // ...
  func1();
}

3
void func_2 ();

void func_1 ()
{
 ...
}

void func_2 ()
{
 ...
}

4
需要翻译的内容:The declaration of func_2 should be above the definition of func_1func_2 的声明应该放在 func_1 的定义之前。 - hammar
但从技术上讲,它可以放在任何地方,但是是的,它可能应该放在那里。 - judda
3
问题说明了func_2是从func_1中调用的,因此顺序不是可选的。 - Mark Ransom
1
在一个类中,函数可以以任何顺序出现。然而,独立的函数只能调用已经被定义(或者有前向引用定义)的函数。 - Ferruccio
抱歉,我错过了关于它需要从内部调用的那个语句。 - judda

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接