2011-06-09 82 views
3

如果我有一个示例代码是这样的:如何声明功能标识

void func_1 { 
....... 
func_2; 
} 
func_2{ 
....... 
} 

我需要声明一个函数标识符func_2使代码可以运行怎么做呢?

+1

我不明白你在说什么。你想在func_1()的末尾运行func_2()吗?你现在有什么问题? – 2011-06-09 21:56:25

+0

我需要从func_1调用func_2,但事情是我在func_1之后编写了func_2,所以我必须在顶部写一个标识符,对吗? – Shadi 2011-06-09 21:58:58

+0

这看起来不像合法的C或C++ - 函数在标识符后面有圆括号。声明是'int f(double x);',定义是'int f(double x){return -1; }'。您可以在定义'func_1'之前声明'func_2',这应该可以做到。 – 2011-06-10 00:50:12

回答

3
void func_2(); 

void func_1() 
{ 
... 
} 

void func_2() 
{ 
... 
} 
+4

'func_2'的声明应该在'func_1'的定义之上。 – hammar 2011-06-09 21:59:31

+0

但从技术上讲,它可以去任何地方,但是,它可能应该。 – judda 2011-06-09 22:02:55

+3

该问题指出func_2是从func_1调用的,所以排序是**不是**可选。 – 2011-06-09 22:05:42

8

如果func_2不会叫func_1,那么你可以重新排序:

void func_2() 
{ 
} 

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

如果他们都称呼对方,那么你可以声明,如下所示:

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

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