方法不能初始化值c++
Method can not initialize value c++
首先我在 Ford Bellman claas 的构造函数中初始化值
FordBellman::FordBellman() {
this->vertexCount=0;
this->vertexFirst=0;
this->edgeCount=0;
this->wage=0;
this->matrix=0;
this->distance=0;
this->predecessor=0;
}
接下来我在 Fordbellman 的 initialize 方法的参数中有参考
void FordBellman::initialize(const AdjacencyMatrix &am)
{
this->vertexCount=am.getVertexCount();
this->vertexFirst=am.getVertexFirst();
this->edgeCount=am.getEdgeCount();
this->wage=am.getWage();
this->matrix=am.getMatrix();
cout << vertexCount;
cout << vertexFirst;
.....
}
主要class我是这样做的
int main() {
AdjacencyMatrix am;
FordBellman fb;
am.createFromFile("matrix.txt");
fb.initialize(am);
}
如果我调用 fb.initialize(am) 控制台什么都不显示(应该显示 cout )
你能告诉我我做错了什么吗?
当我尝试从 github 存储库中 运行 代码时,关于你的代码很遗憾,我遇到了分段错误。原因在文件 FordBellman.cpp 的第 42 行。您没有分配数组但使用了它。
你没有看到任何东西的原因是你的程序在打印之前就终止了。准确地说,它发生在 am.createFromFile("matrix.txt");
内部
尝试为 predecessor
编写内存分配,我认为您的代码将开始工作。
我有点困惑,您没有收到有关分段错误的消息。你用什么开发环境?
首先我在 Ford Bellman claas 的构造函数中初始化值
FordBellman::FordBellman() {
this->vertexCount=0;
this->vertexFirst=0;
this->edgeCount=0;
this->wage=0;
this->matrix=0;
this->distance=0;
this->predecessor=0;
}
接下来我在 Fordbellman 的 initialize 方法的参数中有参考
void FordBellman::initialize(const AdjacencyMatrix &am)
{
this->vertexCount=am.getVertexCount();
this->vertexFirst=am.getVertexFirst();
this->edgeCount=am.getEdgeCount();
this->wage=am.getWage();
this->matrix=am.getMatrix();
cout << vertexCount;
cout << vertexFirst;
.....
}
主要class我是这样做的
int main() {
AdjacencyMatrix am;
FordBellman fb;
am.createFromFile("matrix.txt");
fb.initialize(am);
}
如果我调用 fb.initialize(am) 控制台什么都不显示(应该显示 cout ) 你能告诉我我做错了什么吗?
当我尝试从 github 存储库中 运行 代码时,关于你的代码很遗憾,我遇到了分段错误。原因在文件 FordBellman.cpp 的第 42 行。您没有分配数组但使用了它。
你没有看到任何东西的原因是你的程序在打印之前就终止了。准确地说,它发生在 am.createFromFile("matrix.txt");
尝试为 predecessor
编写内存分配,我认为您的代码将开始工作。
我有点困惑,您没有收到有关分段错误的消息。你用什么开发环境?