c++找出错误位置并改正

来源:百度知道 编辑:UC知道 时间:2024/06/21 22:54:34
// Note:Your choice is C++ IDE
#include "iostream.h"
class Stack{
public:
Stack(int sz);
private:
char *p;
int size;
};
Stack::Stack(int sz)
{
p=new char [size =sz]

}
void mian()
{
Stack stt;
}
这里面有错误,在那里谢谢

Stack 没有默认构造函数,不能Stack stt;这样来定义对象。

另Stack::Stack(int sz)
{
p=new char [size =sz]

} 这里少了个;

#include "iostream.h"
class Stack{
public:
Stack(int sz);
private:
char *p;
int size;
};
Stack::Stack(int sz)
{
p=new char [size=sz];

}
void mian()
{
Stack stt(4);
}

// Note:Your choice is C++ IDE
#include <iostream.h>//这里用尖扩号,因为头文件不是自己定义的

class Stack
{
public:
Stack(int sz=0);//增加了=0,如果调用默认那么sz就为0
//或者增加个构造函数Stack()
private:
char *p;
int size;
};

Stack::Stack(int sz)
{
p=new char [size =sz]; //缺少分号

}
void main() //main 不是mian !!!太不应该
{
Stack stt; //你调用的是默认构造函数,可你却没有
}

p=new char [size =sz] 后面加 ;

main函数写成了 mian
Stack stt; 这句不行
因为编译器这时找不到合适默认的构造器,所以可以这样写:Stack stt(3);