鱼C论坛

 找回密码
 立即注册
查看: 2139|回复: 9

[已解决]关于C++类指针动态分配内存的语法问题

[复制链接]
发表于 2018-5-5 13:51:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
动态分配这种类空间,在构造函数有参数的情况下,如何进行传参

#include "stdafx.h"

class Test
{
public:
        int a;
        /*                //没被注释的话,通过重载是能够分配成功的
        Test()
        {
               
        }*/
        Test(int a)
        {
                this->a=a;
        }
};

int _tmain(int argc, _TCHAR* argv[])
{
        Test *test=new Test[2];                //这里提示是没有合适的构造函数,因为不知道这种情况应该如何传参
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-5-5 14:15:59 | 显示全部楼层    本楼为最佳答案   

回帖奖励 +1 鱼币

无标题.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-5 14:18:50 | 显示全部楼层
Test *test=new Test(2);    //传参是用()吧。[]是数组
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-5 15:16:01 | 显示全部楼层
3L说得对,楼主基础不够扎实哦~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-5 16:09:04 | 显示全部楼层
你把无参的构造函数给注释了,只剩下了有参的构造函数,但是呢,你创建了一个数组,但没有给参数,此时默认调用无参构造函数来创建,又因为你定义了一个有参的构造函数,所以默认构造函数就没用了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-5 20:51:53 | 显示全部楼层
qq1242009750 发表于 2018-5-5 16:09
你把无参的构造函数给注释了,只剩下了有参的构造函数,但是呢,你创建了一个数组,但没有给参数,此时默认 ...

那这个数组的传递参数的写法该怎么写
,尝试了楼上说的,但编译器好像不识别
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-5 20:53:36 | 显示全部楼层

这种写法我的编译器好像不识别,我用的VS2010
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-5 21:05:51 | 显示全部楼层

层主用的是C++11往上的版本吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-5 21:11:53 | 显示全部楼层
西溪洗 发表于 2018-5-5 21:05
层主用的是C++11往上的版本吗



旧版本好像不能这样用,百度了一会也没有找到什么好的方法
只找到了这个
https://www.zhihu.com/question/31525159
无标题.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-5 22:02:20 | 显示全部楼层
人造人 发表于 2018-5-5 21:11


旧版本好像不能这样用,百度了一会也没有找到什么好的方法

谢谢了。问题解决了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-29 20:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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