不能分配常量大小为0的数组

linfengfeiye 2009-09-01 09:46:59
//这个错误怎么改?
#include "stdafx.h"
class A
{
public:
A(){}
public:
int a;
};
A* a[1];
a[0]->a=1;

int main()
{
return 0;
}
...全文
732 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zgjxwl 2009-09-01
  • 打赏
  • 举报
回复
还没开辟空间呢。。。。
linfengfeiye 2009-09-01
  • 打赏
  • 举报
回复
结贴,多谢mstlq!
写多了,C++自由过了头....基本的规则就忘记了.
mstlq 2009-09-01
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 linfengfeiye 的回复:]
#include "stdafx.h"
class A
{
public:
A(){}
public:
int a;
};
A* a[1];

a[0] = new A() ;//这句放这就报错误,放下面就没有问题.什么原因呢?

int main()
{
        //a[0] = new A() ;
return 0;
}

[/Quote]

为什么有问题?请楼主类比下面一种错误的代码……
原理其实差不多一样……

#include <stdio.h>

int i;
i=5;//如果楼主不明白这句话为什么有问题,那我也无话可说了╮(╯_╰)╭

int main()
{
return 0;
}

arong1234 2009-09-01
  • 打赏
  • 举报
回复
除了指针没初始化错误之外,我怀疑他1写成了字母l(L得小写)
指针没有初始化只会导致运行错误(除非编译器足够聪明),而把数字1写成字母l则有可能碰巧导致他遇到得错误。
linfengfeiye 2009-09-01
  • 打赏
  • 举报
回复
#include "stdafx.h"
class A
{
public:
A(){}
public:
int a;
};
A* a[1];

a[0] = new A() ;//这句放这就报错误,放下面就没有问题.什么原因呢?

int main()
{
//a[0] = new A() ;
return 0;
}
点墨 2009-09-01
  • 打赏
  • 举报
回复

#include"stdafx.h"
class A
{
public:
A(){}
public:
int a;
};
A a[1]; //这里不是指针数组吧!
a[0].a=1;//如果不是,就要这样;如果是指针加new,则不变。呵呵。
int main()
{
return0;
}

mstlq 2009-09-01
  • 打赏
  • 举报
回复
可以分配常量大小为0的数组……

我不太明白楼主的意思……
随手写段能用的代码……
#include <stdio.h>
#include <string.h>

class A
{

public:
A(){}

public:
int a;
};

A* a[1];
A b[0];

int main()
{
a[0]= new A;
a[0]->a=1;
printf("%d %d",a[0]->a,sizeof(b));
delete a[0];
return 0;
}
whg01 2009-09-01
  • 打赏
  • 举报
回复
A* a[1]; 是定义了指向类A的指针数组,每个元素都是指向类A的指针。
a[0]->a=1; 没有初始化指针。
点墨 2009-09-01
  • 打赏
  • 举报
回复

#include "stdafx.h"
class A
{
public:
A(){}
public:
int a;
};
A a[1];//这里不是指针数组吧!
a[0]->a=1;

int main()
{
return 0;
}
  • 打赏
  • 举报
回复
A* a[1] = { new A };
mengde007 2009-09-01
  • 打赏
  • 举报
回复
指针有空间么?写的这么怪;

65,179

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧