我正在学习 C++ 中的斯坦福课程 cs106b,但我被卡住了,我似乎无法正确理解。对于知道这类东西的人来说,这可能是一个非常容易解决的问题。我有三个文件,一个 main.cpp 和一个 randword.h 和 randword.cpp。在 randword.h 我有 #include "simpio.h" 这是一个定义 GetLine() 的斯坦福图书馆。我可以让 GetLine() 在 main.cpp 文件中工作,但是当我尝试编译时,我在 randword.cpp 中得到“对 'GetLine()' 的未定义引用”。
我使用代码块,并且使用了“添加文件...”功能。
这是 main.cpp 的代码:
#include "randword.h"
/* Private function prototypes */
/* Main program */
randword rw;
int main() {
rw.initDictionary();
}
随机数.h:
#ifndef RANDWORD_H_INCLUDED
#define RANDWORD_H_INCLUDED
#include <iostream>
#include <fstream>
#include <stdio.h>
#include "simpio.h"
#include "strutils.h"
using namespace std;
class randword{
public:
void initDictionary();
string chooseRandomWord();
string strArray[];
private:
};
#endif // RANDWORD_H_INCLUDED
随机.cpp:
#include "randword.h"
using namespace std;
void randword::initDictionary(){
string fileName;
ifstream infile;
fileName = GetLine();
infile.open(fileName.c_str());
if(infile.fail()) cout << "Couldn't read file.";
return;
}
string randword::chooseRandomWord(){
string st1;
return st1;
}
任何帮助将非常感激!我怀疑这个问题已经发布了,但我找不到。谢谢!