为什么这个类有语法异常
为什么这个类有语法错误?
//类定义
class Hanoi{
//====
public:
//变量
char tower[10];
int size;
//函数
Hanoi(){
tower = { 'A ', 'B ', 'C ', 'D ', 'E ', 'F ', 'G ', 'H ', 'I ', 'J '};
size = 0;
};
Hanoi(int tower_size){
tower = { 'A ' 'B ' 'C ' 'D ' 'E ' 'F ' 'G ' 'H ' 'I ' 'J '};
size = tower_size ;
};
~Hanoi(){};
Hanoi operator = ( Hanoi& hanoi ){
for (int i = 0 ;i < size ; i ++) tower[i] = hanoi.tower[i] ;
size = hanoi.size;
};
};
//编译错误:
编译的时候总是显示有语法错误,在两个构造函数给数组赋值的那两句代码上:
syntax error before `; ' token
//问题:
为什么?难道与空间的分配有关?
------解决方案--------------------
tower = { 'A ', 'B ', 'C ', 'D ', 'E ', 'F ', 'G ', 'H ', 'I ', 'J '};
=========================
不能这么赋值,在定义的时候的才可以这么写,赋值时不可以
------解决方案--------------------
你咋每个函数后面都有一个;号啊, 这样是个很糟糕的写法
数组赋值用for循环吧, strcpy也行
------解决方案--------------------
阿,那怎么赋值?一个一个来?
或者我在定义的时候就赋值:
char tower[10]={ 'A ', 'B ', 'C ', 'D ', 'E ', 'F ', 'G ', 'H ', 'I ', 'J '};
这样?
---
不可以
char *temp = { 'A ' 'B ' 'C ' 'D ' 'E ' 'F ' 'G ' 'H ' 'I ' 'J '};
memcpy(....);
//类定义
class Hanoi{
//====
public:
//变量
char tower[10];
int size;
//函数
Hanoi(){
tower = { 'A ', 'B ', 'C ', 'D ', 'E ', 'F ', 'G ', 'H ', 'I ', 'J '};
size = 0;
};
Hanoi(int tower_size){
tower = { 'A ' 'B ' 'C ' 'D ' 'E ' 'F ' 'G ' 'H ' 'I ' 'J '};
size = tower_size ;
};
~Hanoi(){};
Hanoi operator = ( Hanoi& hanoi ){
for (int i = 0 ;i < size ; i ++) tower[i] = hanoi.tower[i] ;
size = hanoi.size;
};
};
//编译错误:
编译的时候总是显示有语法错误,在两个构造函数给数组赋值的那两句代码上:
syntax error before `; ' token
//问题:
为什么?难道与空间的分配有关?
------解决方案--------------------
tower = { 'A ', 'B ', 'C ', 'D ', 'E ', 'F ', 'G ', 'H ', 'I ', 'J '};
=========================
不能这么赋值,在定义的时候的才可以这么写,赋值时不可以
------解决方案--------------------
你咋每个函数后面都有一个;号啊, 这样是个很糟糕的写法
数组赋值用for循环吧, strcpy也行
------解决方案--------------------
阿,那怎么赋值?一个一个来?
或者我在定义的时候就赋值:
char tower[10]={ 'A ', 'B ', 'C ', 'D ', 'E ', 'F ', 'G ', 'H ', 'I ', 'J '};
这样?
---
不可以
char *temp = { 'A ' 'B ' 'C ' 'D ' 'E ' 'F ' 'G ' 'H ' 'I ' 'J '};
memcpy(....);