user-0 提问: 提示错误error C2143: syntax error : missing ';' before '{'

回复:
user: user-0
content: [quote=引用 19 楼 wyyy2088511 的回复:] {{}，{}}这里要加的是逗号而不是分号 恩，明白，谢谢啦！

user: user-1
content: {{}，{}}这里要加的是逗号而不是分号

user: user-0
content: 引用 17 楼 jianwen0529 的回复:[quote=引用 16 楼 D_vcp 的回复:] 难道初始化应该是： int zifu={ {1, 1, 1, 1, 1, 0, 0, 0};{0, 1, 1, 0, 1, 1, 0, 0};{0, 1, 1, 0, 0, 1, 1, 0};{0, 1, 1, 0, 0, 1, 1, 0};{0, 1, 1, 0, 0, 1, 1, 0};{0, 1, 1, 0, 0, 1, 1, 0};{0, 1, 1, 0, 1, 1, 0, 0};{1, 1, 1, 1, 1, 0, 0, 0}}; 赋值时是： zifu={ {1, 1, 1, 1, 1, 0, 0, 0};{0, 1, 1, 0, 1, 1, 0, 0};{0, 1, 1, 0, 0, 1, 1, 0};{0, 1, 1, 0, 0, 1, 1, 0};{0, 1, 1, 0, 0, 1, 1, 0};{0, 1, 1, 0, 0, 1, 1, 0};{0, 1, 1, 0, 1, 1, 0, 0};{1, 1, 1, 1, 1, 0, 0, 0}}; 是这样的吗？ （去年的问题，其实有点记不清了；现在又有了新的解决思路） 你一年还没搞清楚这个问题，初始化全部用逗号 赋值只能一个个元素进行赋值 你的两种方式都是语法不允许的错误  //定义并初始化 int a[2][2] = { {1, 2}, {3, 4} };   int a[2][2]; a[0][1] = 1; a[1][0] = 3; [/quote]  ……中间有段时间没有继续学习，谢谢你的提示！

user: user-2
content: 引用 16 楼 D_vcp 的回复:难道初始化应该是： int zifu={ {1, 1, 1, 1, 1, 0, 0, 0};{0, 1, 1, 0, 1, 1, 0, 0};{0, 1, 1, 0, 0, 1, 1, 0};{0, 1, 1, 0, 0, 1, 1, 0};{0, 1, 1, 0, 0, 1, 1, 0};{0, 1, 1, 0, 0, 1, 1, 0};{0, 1, 1, 0, 1, 1, 0, 0};{1, 1, 1, 1, 1, 0, 0, 0}}; 赋值时是： zifu={ {1, 1, 1, 1, 1, 0, 0, 0};{0, 1, 1, 0, 1, 1, 0, 0};{0, 1, 1, 0, 0, 1, 1, 0};{0, 1, 1, 0, 0, 1, 1, 0};{0, 1, 1, 0, 0, 1, 1, 0};{0, 1, 1, 0, 0, 1, 1, 0};{0, 1, 1, 0, 1, 1, 0, 0};{1, 1, 1, 1, 1, 0, 0, 0}}; 是这样的吗？ （去年的问题，其实有点记不清了；现在又有了新的解决思路） 你一年还没搞清楚这个问题，初始化全部用逗号 赋值只能一个个元素进行赋值 你的两种方式都是语法不允许的错误  //定义并初始化 int a[2][2] = { {1, 2}, {3, 4} };   int a[2][2]; a[0][1] = 1; a[1][0] = 3;

user: user-0
content: 难道初始化应该是： int zifu={ {1, 1, 1, 1, 1, 0, 0, 0};{0, 1, 1, 0, 1, 1, 0, 0};{0, 1, 1, 0, 0, 1, 1, 0};{0, 1, 1, 0, 0, 1, 1, 0};{0, 1, 1, 0, 0, 1, 1, 0};{0, 1, 1, 0, 0, 1, 1, 0};{0, 1, 1, 0, 1, 1, 0, 0};{1, 1, 1, 1, 1, 0, 0, 0}}; 赋值时是： zifu={ {1, 1, 1, 1, 1, 0, 0, 0};{0, 1, 1, 0, 1, 1, 0, 0};{0, 1, 1, 0, 0, 1, 1, 0};{0, 1, 1, 0, 0, 1, 1, 0};{0, 1, 1, 0, 0, 1, 1, 0};{0, 1, 1, 0, 0, 1, 1, 0};{0, 1, 1, 0, 1, 1, 0, 0};{1, 1, 1, 1, 1, 0, 0, 0}}; 是这样的吗？ （去年的问题，其实有点记不清了；现在又有了新的解决思路）

user: user-3
content: 你的那种写法只能在声明时初始化，赋值是不能那样写。

user: user-0
content: 引用 12 楼 赵4老师的回复:[quote=引用 11 楼 D_vcp 的回复:] 用注释法，错误好多，心累 目前还没有更好的办法。要不楼主想个更好的办法。[/quote] 果断放弃治疗，让我静静

user: user-0
content: 用注释法，错误好多，心累

user: user-0
content: 我直接在在构造函数里初始化的 还需要放到构造函数初始化列表里吗？

user: user-4
content: 偶遇到类似问题都是用 “每次用/*...*/注释掉不同部分再重新编译，直到定位到具体语法出错的位置。” 的方法解决的。

user: user-4
content: “变量赋值”和“变量初始化”不是一回事！ “变量赋值”发生在运行期，其写法遵循赋值语法规定。 “变量初始化”发生在编译期或运行期，其写法遵循初始化列表语法规定。

user: user-5
content: 你要在构造函数时初始需要放到构造函数初始化列表里

user: user-0
content: 把分号改成逗号，又出现如下错误： error C2143: syntax error : missing ';' before ','

user: user-0
content: 头文件代码如是： class CDrawDianZhenView : public CView { protected: // create from serialization only 	CDrawDianZhenView(); 	DECLARE_DYNCREATE(CDrawDianZhenView)  // Attributes public: 	CDrawDianZhenDoc* GetDocument();     int zifu[8][8];  //定义了一个点阵数组，进行图形演示 // Operations  Cpp代码如是： CDrawDianZhenView::CDrawDianZhenView() { 	// TODO: add construction code here 	//zifu={ {1, 1, 1, 1, 1, 0, 0, 0};{0, 1, 1, 0, 1, 1, 0, 0};{0, 1, 1, 0, 0, 1, 1, 0};{0, 1, 1, 0, 0, 1, 1, 0};{0, 1, 1, 0, 0, 1, 1, 0};{0, 1, 1, 0, 0, 1, 1, 0};{0, 1, 1, 0, 1, 1, 0, 0};{1, 1, 1, 1, 1, 0, 0, 0}};  	zifu[0]={1, 1, 1, 1, 1, 0, 0, 0}; 	zifu[1]={0, 1, 1, 0, 1, 1, 0, 0}; 	zifu[2]={0, 1, 1, 0, 0, 1, 1, 0}; 	zifu[3]={0, 1, 1, 0, 0, 1, 1, 0}; 	zifu[4]={0, 1, 1, 0, 0, 1, 1, 0}; 	zifu[5]={0, 1, 1, 0, 0, 1, 1, 0}; 	zifu[6]={0, 1, 1, 0, 1, 1, 0, 0}; 	zifu[7]={1, 1, 1, 1, 1, 0, 0, 0};  	//并且分别用每行首字符地址来初始化也不行？？ };

user: user-6
content: 大概是两种方式，一，定义的时候初始化，参考上楼。第二，先定义，然后利用循环初始化；还没见过你这么写的……

user: user-6
content: char zifu[8][8]={  	{1, 1, 1, 1, 1, 0, 0,1}, 	{0, 1, 1, 0, 1, 1, 0,1}, 	{0, 1, 1, 0, 0, 1, 1,1}, 	{0, 1, 1, 0, 0, 1, 1,1}, 	{0, 1, 1, 0, 0, 1, 1,1}, 	{0, 1, 1, 0, 0, 1, 1,1}, 	{0, 1, 1, 0, 1, 1, 0,1}, 	{1, 1, 1, 1, 1, 0, 0,1} };

user: user-7
content: 多贴点代码。 方法1每个元素中间的分号至少也应该改为, 参考：C++11的统一初始化

user: user-4
content: 引用 11 楼 D_vcp 的回复:用注释法，错误好多，心累 目前还没有更好的办法。要不楼主想个更好的办法。