VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 967|回复: 4

[求助] shared_ptr 与 make_shared

[复制链接]
87_avatar_middle
online_vip 发表于 2016-8-16 19:19:49 | 显示全部楼层 |阅读模式
3驿站币
大神:
      make_shared<T>() 这里最多只能有5个参数吗 ? 比如说我的构造函数的参数多与5个,就会提示无法找到匹配的构造函数?
      是不是就得用shared_ptr(new T())来实现了呀??
      还请高手们支招呀





上一篇:单链表求助
下一篇:如何使用c++打印一行空白行
87_avatar_middle
ico_lz  楼主| 发表于 2016-8-17 10:19:15 | 显示全部楼层
问题补充:
class MyClass
{
public:
        MyClass(int i,int a,string s,double d,string c,string p="***"):ID(i),Age(a),Name(s),Score(d),sClass(c),pwd(p){};
private:
        int ID,Age;
        string Name;
        double Score;
        string sClass;
        string pwd;
};

typedef shared_ptr<MyClass> pMCs;


int _tmain(int argc, _TCHAR* argv[])
{
        pMCs p1 = make_shared<MyClass>(4,40,"tan",66,"L4");        //        OK
        
        pMCs p2 = make_shared<MyClass>(4,40,"tan",66,"L4","123456");  // 会报错

        return 0;
}

错误信息

错误信息
51_avatar_middle
online_admins 发表于 2016-8-23 08:57:16 | 显示全部楼层
smthan 发表于 2016-8-17 10:19
问题补充:
class MyClass
{

楼主问题解决了吗?
87_avatar_middle
ico_lz  楼主| 发表于 2016-9-4 22:58:09 | 显示全部楼层
shared_ptr 与 make_shared
经测试,相同代码在VS2013上没有问题.... ...
87_avatar_middle
ico_lz  楼主| 发表于 2016-9-4 22:58:49 | 显示全部楼层
Syc 发表于 2016-8-23 08:57
楼主问题解决了吗?

在VS2013上没有问题,应该是VS的问题
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-7-18 09:34

Powered by Discuz! X3.4

© 2009-2019 cctry.com

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