全局.h
class PERM
{
public:
char matpath[256];
public:
PERM()
{
nnode=0;
npart=0;
leftSize=0;
cSize=0;
}
int loadMatrixMM();
};
功能.cc
#include "globals.h"
int PERM::loadMatrixMM()
{
ifstream fin(matpath);
...
}
main.cc
#include "globals.h"
int main(int args, char *argv[])
{
PERM perm;
sprintf(perm.matpath,"%s\0",argv[1]);
perm.loadMatrixMM();
...
}
我使用gdb进行调试,当它运行到[ifstream fin(matpath)]时,它中止并说无法访问该地址的内存...... 我将 [ifstream fin(matpath)] 更改为 [ifstream fin(PERM::matpath)] 和 [ifstream fin(this->matpath)]。