QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 897|回复: 3

c++ 模板方面的问题

[复制链接]
发表于 2005-9-6 10:37:22 | 显示全部楼层 |阅读模式
大家看看我的函数哪有问题?
template <class Type, int size>
Type min(const Type (&r_array)[size])
{
        Type min_val = r_array[0];
        for( int i = 1; i < size; ++i)
                if (r_array < min_val)
                        min_val = r_array;
        return min_val;
}
In function 'Type min()':
error: 'r_array' was not declared in this scope
发表于 2005-10-6 12:16:00 | 显示全部楼层
函数中的r_array数组没有定义
你应该在这个函数之前定义r_array
回复

使用道具 举报

发表于 2005-10-7 15:18:41 | 显示全部楼层
template <class Type, int size>
Type min(const Type (&r_array)[size])
可以写成
template <class Type>
Type min(const Type* r_array,int size)
回复

使用道具 举报

发表于 2005-10-8 20:08:36 | 显示全部楼层

可以编译通过,没有错误!

[code:1]
#include <iostream>

template <class Type, int size>
Type min(const Type (&r_array)[size])
{
    Type min_val = r_array[0];
    for( int i = 1; i < size; ++i)
        if (r_array[i] < min_val)
            min_val = r_array[i];
    return min_val;
}

int main()
{
    int array[5] = {5,4,3,2,1};
    std::cout << min<int, 5>(array) << std::endl;
}
[/code:1]
C:\WINDOWS\system32\cmd.exe /c g++ -v
Reading specs from D:/App/MinGW/bin/../lib/gcc-lib/mingw32/3.2.3/specs
Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as --host=
mingw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls --enable
-languages=c++,f77,objc --disable-win32-registry --disable-shared --enable-sjlj-
exceptions
Thread model: win32
gcc version 3.2.3 (mingw special 20030504-1)
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-5 02:11 , Processed in 0.035959 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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