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

照着书敲也错,晕了,大侠帮忙哈!

fyz520 发布于 2010-01-27 10:29, 605 次点击
小弟刚学C++,照着书敲了一段,结果调试的时候出错了,我用的是vc2008

程度如下:

#define pi 3.1415926
#include <stdio.h>
void main()
{
int func();
printf("pi in main = %f\n",pi);
func();
}
func()
{
printf("pi in func = %f\n",pi);
return 1;
}




调试结果:

1>------ 已启动生成: 项目: dream2, 配置: Debug Win32 ------
1>正在编译...
1>cpp.cpp
1>d:\c++资料\c++源文件\dream2\dream2\cpp.cpp(11) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>生成日志保存在“file://d:\C++资料\C++源文件\dream2\dream2\Debug\BuildLog.htm”
1>dream2 - 1 个错误,0 个警告
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
8 回复
#2
pangding2010-01-27 10:51
func()
{
printf("pi in func = %f\n",pi);
return 1;
}

 
错误说这个函数定义的时候没有给类型说明符。应该写成这样:
int func()
{
printf("pi in func = %f\n",pi);
return 1;
}
#3
fyz5202010-01-27 12:41
#define pi 3.1415926
#include <stdio.h>
void main()
{
int func();
printf("pi in main = %f\n",pi);
func();
}
int func()
{
printf("pi in func = %f\n",pi);
return 1;
}
谢谢哈,对了,呵呵,,,
但是有个问题,主函数体main()里为什么还要int func()啊,不是已经定义了吗
#4
mfkblue2010-01-27 15:43
int func();
func();
这是两个不同的函数.
多看书吧.
#5
pangding2010-01-28 18:57
回复 4楼 mfkblue
呵呵,好久没看见你了~
#6
pangding2010-01-28 19:00
以下是引用fyz520在2010-1-27 12:41:23的发言:

但是有个问题,主函数体main()里为什么还要int func()啊,不是已经定义了吗
先声明后使用。
你的 main 里要用 func 但用的时候还没有声明过。所以要再调用之前声明一下。

其实你把那个声明放在 main 外面也行,当然也得放在前面。
或者你把下面那个函数的定义移到 main 的上面也可以。
#7
whatkoko2010-01-30 10:45
来学习下
#8
Alar302010-01-30 10:54
呵呵
书没看到位啊
而且现在的书其实也有一些代码本身就写错了
所以选一本好书也是非常重要的
#9
mfkblue2010-01-30 14:22
回复 5楼 pangding
嘿嘿,数据结构学的头痛,mfc又不敢开始。
只好钻进山口山了,wlk还是不开,我又回来了.
1