鱼C论坛

 找回密码
 立即注册
查看: 1613|回复: 5

大神来看看这个代码

[复制链接]
发表于 2015-2-13 15:11:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
主文件
#include<iostream>
#include "header.h"

int main()
{
        using namespace std;
        double d[5] = {1.1, 2.2, 3.3, 4.4, 5.5};
        int i[5] = {3, 4, 5, 1, 2};
        cout << "the max of the int is\t" << max5(i) <<endl;
        cout << "the max of the double is\t" << max5(d) << endl;
        cin.get();
        cin.get();
        return 0;
}
函数
#include "header.h"

template<typename T>
typename max5(T num[])
{
        T temp = num[0];
        int i = 1;
        for (; i < Arsize; ++i)
    temp = temp > num[i] ?  temp : num[i];
        return temp;
}
头文件
#ifndef HEADER_H
#define HEADER_H

        template<typename T>
    typename max5(T num[]);
        const int Arsize = 5;

#endif
显示
1>d:\鲁大师\作业\链接\链接\header.h(5): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>d:\鲁大师\作业\链接\链接\2.cpp(12): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>  1.cpp
1>d:\鲁大师\作业\链接\链接\header.h(5): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>  正在生成代码...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-2-13 15:21:34 | 显示全部楼层
把主函数main放在最后面,多出一个‘header.h’头文件。#include<iostream>
#include "header.h"
//#include "header.h"

template<typename T>
typename max5(T num[])
{
        T temp = num[0];
        int i = 1;
        for (; i < Arsize; ++i)
    temp = temp > num[i] ?  temp : num;
        return temp;
}

#ifndef HEADER_H
#define HEADER_H

        template<typename T>
    typename max5(T num[]);
        const int Arsize = 5;

#endif
int main()
{
        using namespace std;
        double d[5] = {1.1, 2.2, 3.3, 4.4, 5.5};
        int i[5] = {3, 4, 5, 1, 2};
        cout << "the max of the int is\t" << max5(i) <<endl;
        cout << "the max of the double is\t" << max5(d) << endl;
        cin.get();
        cin.get();
        return 0;
}
[/i]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-2-13 15:58:06 | 显示全部楼层
ANDES 发表于 2015-2-13 15:21
把主函数main放在最后面,多出一个‘header.h’头文件。#include
#include "header.h"
//#include "heade ...

没看懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-2-13 16:08:57 | 显示全部楼层

把代码复制到编译器去调就知道了,代码是你自己写的,如果你看不懂我也没办法,我只是把顺序颠倒了一下。如果你还有问题,建议去看下“被调用函数的声明”这个知识点。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-2-13 16:16:17 | 显示全部楼层
ANDES 发表于 2015-2-13 16:08
把代码复制到编译器去调就知道了,代码是你自己写的,如果你看不懂我也没办法,我只是把顺序颠倒了一下。 ...

1>d:\鲁大师\作业\practice\practice\header.h(5): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>d:\鲁大师\作业\practice\practice\a.cpp(13): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int


不对啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-2-13 16:26:31 | 显示全部楼层
小傻子 发表于 2015-2-13 16:16
1>d:\鲁大师\作业\practice\practice\header.h(5): error C4430: 缺少类型说明符 - 假定为 int。注意: C+ ...

我的编译器是VC++6.0  工程建的是win控制台,文件是C++的(.cpp),我这边却可以运行成功。自己在慢慢找找原因吧。不要那么轻易的提问,这样不利于你的成长,都是很容易解决的错误。
QQ截图20150213162454.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-25 18:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表