大家帮我看看这段代码,编译成功,程序却不运行
头文件1.h
#include <string.h>
using std::string;
class ye{
public:
int yehao;
bool yicun;
int zhucun;
bool gengai;
int danyh;
};
class zhilin{
public:
string caozuo;
int yehao;
int danyh;
};
主文件1.cpp
#include <list.h>
#include <vector.h>
#include <iostream>
#include "1.h"
int main()
{//数据的初始化
vector<ye> yebiao,neicun;
vector<zhilin> zlbiao;
//页表的初始化
{ye y={0,1,5,0,11};//注意括号
yebiao.push_back(y);}
{ye y={1,1,8,0,12};
yebiao.push_back(y);}
{ye y={2,1,9,0,13};
yebiao.push_back(y);}
{ye y={3,1,1,0,21};
yebiao.push_back(y);}
{ye y={4,0,0,0,22};
yebiao.push_back(y);}
{ye y={5,0,0,0,23};
yebiao.push_back(y);}
{ye y={6,0,0,0,121};
yebiao.push_back(y);}
//内存初始化
{ye y={0,1,5,0,11};//注意括号
yebiao.push_back(y);}
{ye y={1,1,8,0,12};
yebiao.push_back(y);}
{ye y={2,1,9,0,13};
yebiao.push_back(y);}
{ye y={3,1,1,0,21};
yebiao.push_back(y);}
//指令表初始化
{zhilin x={"+",0,70};
zlbiao.push_back(x);}
{zhilin x={"移位",4,53};
zlbiao.push_back(x);}
{zhilin x={"+",1,50};
zlbiao.push_back(x);}
{zhilin x={"+",5,23};
zlbiao.push_back(x);}
{zhilin x={"*",2,15};
zlbiao.push_back(x);}
{zhilin x={"存",1,37};
zlbiao.push_back(x);}
{zhilin x={"存",3,21};
zlbiao.push_back(x);}
{zhilin x={"取",2,78};
zlbiao.push_back(x);}
{zhilin x={"取",0,56};
zlbiao.push_back(x);}
{zhilin x={"+",0,70};
zlbiao.push_back(x);}
{zhilin x={"+",4,1};
zlbiao.push_back(x);}
{zhilin x={"-",6,40};
zlbiao.push_back(x);}
{zhilin x={"存",6,84};
zlbiao.push_back(x);}
}
[解决办法]
默认构造函数把 数据成员都赋值成 对应数据类型默认的值:如
int类型的被初始化为默认值0,string类型的被初始化为默认值空白字符