我是c ++的新手,并试图将文本保存到文本文件中.但是,当我运行程序时,我不断从eclipse中得到这个错误,并且无法弄清楚出了什么问题:
Undefined symbols for architecture x86_64: "StorageSave::execute(std::__1::basic_string, std::__1::allocator >)", referenced from: _main in SpendTracker.o
这是我的代码:
StorageSave.h:
#include#include #include #include "Account/Account.h" #ifndef STORAGE_STORAGESAVE_H_ #define STORAGE_STORAGESAVE_H_ class StorageSave { public: StorageSave(); virtual ~StorageSave(); std::string execute(std::string allData); }; #endif /* STORAGE_STORAGESAVE_H_ */
StorageSave.cpp:
#include#include #include "StorageSave.h" StorageSave::StorageSave() { // TODO Auto-generated constructor stub } StorageSave::~StorageSave() { // TODO Auto-generated destructor stub } std::string execute(std::string allData) { std::ofstream file("hey.txt"); //std::ofstream *fileptr = &file; if(!file.is_open()) { std::cout << "Unable to open file." << std::endl; } else { std::string textData = "test"; file << textData; file.close(); } return ""; }
marom.. 6
我想你应该转
std::string execute(std::string allData) {
成
std::string StorageSave::execute(std::string allData) {
您正在使用execute作为成员函数并声明它,但实现为自由函数
我想你应该转
std::string execute(std::string allData) {
成
std::string StorageSave::execute(std::string allData) {
您正在使用execute作为成员函数并声明它,但实现为自由函数