结构成员声明问题

秋风之刀 2013-10-30 12:39:19
typedef struct{
const char* lpName[];
int nameNum;
} NamesTD;
这样的一个结构定义,直接编译会出错,如果能在不改变结构定义的情况下,可以编译通过
...全文
170 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
秋风之刀 2013-11-01
  • 打赏
  • 举报
回复
引用 7 楼 buyong 的回复:
[quote=引用 楼主 steve_cui 的回复:] typedef struct{ const char* lpName[]; int nameNum; } NamesTD; 这样的一个结构定义,直接编译会出错,如果能在不改变结构定义的情况下,可以编译通过
你在哪个平台能通过?[/quote]据说gcc可以搞定,没试过。
秋风之刀 2013-11-01
  • 打赏
  • 举报
回复
引用 6 楼 lipoor1234 的回复:

typedef struct{
const char* lpName;
int nameNum;
} NamesTD;
用的时候申请内存 用完了记得释放
晕,这是字符串数组,const char** lpName;这种方式根本不用想都知道。
秋风之刀 2013-11-01
  • 打赏
  • 举报
回复
方法已经找到,谢谢讨论。 结论分享一下: 将const char* lpName[];放在所有成员的最下面。
buyong 2013-10-30
  • 打赏
  • 举报
回复
引用 楼主 steve_cui 的回复:
typedef struct{ const char* lpName[]; int nameNum; } NamesTD; 这样的一个结构定义,直接编译会出错,如果能在不改变结构定义的情况下,可以编译通过
你可以自己开发个编译器
buyong 2013-10-30
  • 打赏
  • 举报
回复
引用 楼主 steve_cui 的回复:
typedef struct{ const char* lpName[]; int nameNum; } NamesTD; 这样的一个结构定义,直接编译会出错,如果能在不改变结构定义的情况下,可以编译通过
你在哪个平台能通过?
绿皮蛙 2013-10-30
  • 打赏
  • 举报
回复

typedef struct{
const char* lpName;
int nameNum;
} NamesTD;
用的时候申请内存 用完了记得释放
图灵狗 2013-10-30
  • 打赏
  • 举报
回复
留一个语法有错的语句不能改,那只有找神仙帮忙了!
引用 4 楼 steve_cui 的回复:
这个结构不能动的,如果能指定下标就不用求助了
秋风之刀 2013-10-30
  • 打赏
  • 举报
回复
这个结构不能动的,如果能指定下标就不用求助了
shiguojie19892 2013-10-30
  • 打赏
  • 举报
回复
引用 1 楼 turingo 的回复:

typedef struct{
const char* lpName[8];
int nameNum;
} NamesTD;
指定数组的长度。
Isnis-fallen 2013-10-30
  • 打赏
  • 举报
回复
数组声明要给常量数指明长度
图灵狗 2013-10-30
  • 打赏
  • 举报
回复

typedef struct{
const char* lpName[8];
int nameNum;
} NamesTD;

64,654

社区成员

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

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