我快疯了 这样的程序都编译不通过

as132699 2010-01-08 11:03:06
#include<iostream.h>

struct jin
{int a;
};

void main()
{ jin g;
g={1};
}

这个程序编译之后出现下面3初错误
我真是搞不懂了,无语中。。。。。。。。。。。。。。。。。。
define.cpp(8) : error C2059: syntax error : '{'
: error C2143: syntax error : missing ';' before '{'
: error C2143: syntax error : missing ';' before '}'
Error executing cl.exe.

define.obj - 3 error(s), 0 warning(s)
...全文
86 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
as132699 2010-01-09
  • 打赏
  • 举报
回复
哦这样的
原来这种形式只能用于初始化
我懂了
谢了
mstlq 2010-01-09
  • 打赏
  • 举报
回复
因为初始化赋值不是一回事
{1}这样的形式只能用于初始化而不能用于赋值……
as132699 2010-01-08
  • 打赏
  • 举报
回复
恩 多谢大家
关键是 jin g = {1};
这是什么原因呢
为什么 必须马上对新建的变量初始化
ropert911 2010-01-08
  • 打赏
  • 举报
回复
{1,3}什么的只能在初始化数组,结构体的时候用。在这个对象已经定义了之后只怕不行。你的语法变成了这样:[code=C/C++] jin g;
g=
{
1
}; code]
这个时候,g=和1两个表达式都少了;号,别外g=表达式错误,那就三个错误了。
小小攻城师 2010-01-08
  • 打赏
  • 举报
回复
结构体只能在定义的时候初始化可以是一起初始化,
否则只能单个赋值!!!!
楼主请看楼上代码
借我那把枪吧 2010-01-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 loaden 的回复:]
jin g ={1};
[/Quote]高人
pywepe 2010-01-08
  • 打赏
  • 举报
回复
2楼正解 要么连写 要么一个一个来
traceless 2010-01-08
  • 打赏
  • 举报
回复
Faint!!!!

healer_kx 2010-01-08
  • 打赏
  • 举报
回复
我也快疯了
lionliu_26 2010-01-08
  • 打赏
  • 举报
回复
g.a=1;
ptozys 2010-01-08
  • 打赏
  • 举报
回复
struct jin
{int a;
};


typedef struct jin
{
int a;
}struct_jin;
main(){
struct_jin a_test;
a_test.a = 1;
}

你这样试试
mstlq 2010-01-08
  • 打赏
  • 举报
回复
jin g={1};

或者
jin g;
g.a=1;
老邓 2010-01-08
  • 打赏
  • 举报
回复
或者:
#include <iostream>

using namespace std;

struct jin
{
int a;
};

int main()
{
jin g;
g.a = 1;
return 0;
}

老邓 2010-01-08
  • 打赏
  • 举报
回复
#include <iostream>

using namespace std;

struct jin
{
int a;
};

int main()
{
jin g = {1};
return 0;
}

老邓 2010-01-08
  • 打赏
  • 举报
回复
jin g ={1};

64,678

社区成员

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

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