所以我有这个问题我无法解决:-(在我的.h中我有这个:
protected:
char* _textPath_1;
FileReader* _reader_3;
在 .cpp 我有:
_reader_3 = new FileReader();
_textPath_1 = "foo";
_reader_3->openFile(_textPath_1);
FileReader 有这个:
private:
char* fileName;
public:
signed int openFile(char* name);
但如果我写这个(只是为了测试):
signed int FileReader::openFile(char* name) {
std::cout << name << std::endl;
fileName = name;
stream.open(fileName, std::ios::in);
if (!stream.is_open()) {
FileReader::printErrorOpeningFile(fileName);
stream.close();
return -1;
}
return 0;
}
fileName 是一个 char *,我需要它获得相同的名称值(foo)。我收到一个错误,我什至无法打印名称,它只是打印一个空行.. 为什么?
编辑:即使使用 strcpy 也无法正常工作。实际上在函数内部我无法打印名称的值,就像它已被“取消初始化”