0 c
我是C的新手,在尝试调用在当前函数Ex下声明的函数时遇到问题:
void test (){ test1 ();}
void test1(){ }
Run Code Online (Sandbox Code Playgroud)
我可以将test1移到测试之上,但我也有这个:
void test () {test1 ()}
void test4 () {test ()}
void test3 () {test4 ()}
void test1 () {test3 ()}
Run Code Online (Sandbox Code Playgroud)
所以你看到如果我移动test()我将对test4()有同样的问题吗?我能做什么 ?
谢谢
C将从上到下解析您的文件.在验证函数的使用之前,它至少需要了解函数的签名.这就是您遇到问题的原因.
如果你想在定义函数之前告诉C一个函数,你需要对函数进行原型设计.这实际上是将函数的签名添加到文件中以供C处理.
例如,您可以使用以下内容对test1进行原型设计
void test1();
Run Code Online (Sandbox Code Playgroud)
然后你可以在它定义之前调用它
void test1();
void test() { test1(); }
void test1() {}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
138 次 |
| 最近记录: |