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;
}
这里面有错误,在那里谢谢
#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);