编程论坛's Archiver

zerocn 发表于 2008-7-9 21:56

vector容器作函数参数的问题

[quote]#include <iostream>
#include <vector>
using namespace std;
int main()
{     vector<string> Para;
      void seperate(const vector<string> *);   
     seperate(Para);
      return 0;
}

void seperate(const vector<string> *para)
{   ;
     }[/quote]

编译的时候出现了这样的错误提示了,不知道怎么回事

[quote]cannot convert `std::vector<std::string, std::allocator<std::string> >' to `const std::vector<std::string, std::allocator<std::string> >*' for argument `1' to `void seperate(const std::vector<std::string, std::allocator<std::string> >*)' [/quote]

sunkaidong 发表于 2008-7-9 22:52

参数类型不一致。。。。

zerocn 发表于 2008-7-10 09:42

[quote][bo][un]sunkaidong[/un] 在 2008-7-9 22:52 的发言:[/bo]

参数类型不一致。。。。 [/quote]
请问为什么不可以,我试过了,只要形参是指针类型的就不可以了。

zerocn 发表于 2008-7-10 10:26

如果形参改为引用也可以,但加了const修饰就不可以了

flyue 发表于 2008-7-10 20:16

用&来传参试试

linren 发表于 2008-7-11 22:58

#include <iostream>
#include <vector>
using namespace std;

int main()
{
        vector<string> Para;
        void seperate(const vector<string> *);
        seperate([color=Red][bo]&[/bo][/color]Para);
        return 0;
}

void seperate(const vector<string> *para)
{
        ;
}

我是杨过 发表于 2008-7-12 21:39

无语了

sunkaidong 发表于 2008-7-12 22:04

[quote][bo][un]linren[/un] 在 2008-7-11 22:58 的发言:[/bo]

#include
#include
using namespace std;

int main()
{
        vector Para;
        void seperate(const vector *);
        seperate(&[/bo]Para);
        return 0;
}

void seperate(const vector *para)
{
        ;
} [/quote]
就是这个原因。。。

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.