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

vector容器作函数参数的问题

zerocn 发布于 2008-07-09 21:56, 6142 次点击
#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)
{   ;
     }


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

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> >*)'
7 回复
#2
sunkaidong2008-07-09 22:52
参数类型不一致。。。。
#3
zerocn2008-07-10 09:42
[bo][un]sunkaidong[/un] 在 2008-7-9 22:52 的发言:[/bo]

参数类型不一致。。。。

请问为什么不可以,我试过了,只要形参是指针类型的就不可以了。
#4
zerocn2008-07-10 10:26
如果形参改为引用也可以,但加了const修饰就不可以了
#5
flyue2008-07-10 20:16
用&来传参试试
#6
linren2008-07-11 22:58
#include <iostream>
#include <vector>
using namespace std;

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

void seperate(const vector<string> *para)
{
    ;
}
#7
我是杨过2008-07-12 21:39
无语了
#8
sunkaidong2008-07-12 22:04
[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)
{
    ;
}

就是这个原因。。。
1