注册 登录
编程论坛 C++教室

小妹刚刚学习C++,请假各位大哥哥一个函数调用的问题.

skynetgrp 发布于 2010-08-21 20:29, 1146 次点击
程序代码:
#include <iostream>

int main(){
    using namespace std;
    int num = TestFun();
    cout << num <<endl;
    cin.get();
    return 0;
}

int TestFun(){
    return 1;
}
上述代码我编译的时候出错。信息如下 :
1>.\MyFristProject.cpp(5) : error C3861: “TestFun”: 找不到标识符
1>.\MyFristProject.cpp(11) : error C2365: “TestFun”: 重定义;以前的定义是“原先未知的标识符”
请教各位这是什么原因,先谢谢了!
7 回复
#2
lscalin2010-08-21 20:39
程序代码:
#include <iostream>

int TestFun(); 在这里加上一行

int main(){
    using namespace std;
    int num = TestFun();
    cout << num <<endl;
    cin.get();
    return 0;
}

int TestFun(){
    return 1;
}

#3
xishui7772010-08-21 20:40
#include <iostream>
using namaspace std;
int TestFun(){
    return 1;
}
int main()
{
    int num = TestFun();
    cout << num <<endl;
    cin.get();
    return 0;
}

#4
skynetgrp2010-08-21 20:41
感谢两位.刚刚自己也调成功了.
#5
lscalin2010-08-21 20:41
又或者,你把你那个TestFun 放在 MAIN前面就行了,
#6
skynetgrp2010-08-21 20:42
再请教下 0x0 这个代码什么意思?
#7
jiangkunhgnc2010-08-21 22:32
回复 6楼 skynetgrp
0X000表示十六进制数,每位数相当于四位二进制码.

先前的问题,将函数放在main函数前面,或在main函数里声明就好了. 建议学程序就要有个规范,记得声明使程序更加易读!
#8
书中叶2010-08-21 23:08
return 0就是返回0值,0值的16进制用0x0000来表示,表示return 0之前的语句都顺利运行了
1