C/C++编写dll动态链接库使用操作与非基本类型参数声明错误(2)

传递vector<string>类型参数~

【dll 文件】
#include <iostream>
#include <vector>
#include <string>

using namespace std;

extern "C" __declspec(dllexport)int show_vector(vector<string> aaa);

int show_vector(vector<string> aaa) // 传过来的aaa最好 不要修改、增加、删除里的值
{
 vector<string>::iterator bb;

 vector<string> ccc;
 ccc = aaa;  // 偶然发现,可以这样赋值
 ccc.push_back("sdgwrgwegwwgwerghg");
 ccc.push_back("dgwegwbhwwhbergerh");
 ccc.push_back("her");
 ccc.push_back("wgwegwrgerhrjn");
 ccc.push_back("jrtjrjnrjhn");
 ccc.push_back("tjh54ye54y5yr5y2");
 bb = ccc.begin();
 while(bb != ccc.end())
 {
  cout<< bb->c_str() <<endl;
  bb++;
 }
 return 0;
}

 

【exe 文件】..拷贝文件 XXX.dll and XXX.lib 分别于 debug and 主文件目录下

#include <iostream>
#include <vector>
#include <string>

using namespace std;
#pragma comment(lib,"dll_stl_vector.lib")
extern "C" __declspec(dllimport) int show_vector(vector<string>);

void main(void)
{
 vector<string> aaa;
 aaa.push_back("gsdhfsdlfj");
 aaa.push_back("klshgohowhe");
 aaa.push_back("slwohei");

 show_vector(aaa);
 aaa.clear();

 getchar();
}

 

【执行结果】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值