昨天我在尝试将代码拆分为多个文件时遇到了问题。
昨天早上,我的整个代码都在一个文件中,为了更轻松地跟踪所有内容,我想将代码拆分为更多文件。
这很顺利,直到我得到一个需要声明变量的函数,尽管我已经有了(但可能在错误的地方)。
因为代码太长,我把所有文件都放到了pastebin。
我在 main.cpp 中声明了“字段”:
char field[20][41];
整个文件在这里:https ://pastebin.com/Jy1XvdpL
我想在我的 field.cpp 中使用它:
void loadLevel(int levelnumber) {
// concatenate leven base with level number
std::string level = "level" + std::to_string(levelnumber) + ".txt";
// print field
// load the text file
std::ifstream file;
file.open(level);
char c;
// read line by line, character by character and store it in field
for (int i = 0; i < 20; i++) {
for (int j = 0; j < 41; j++) {
file.get(c);
field[i][j] = c;
}
}
file.close();
}
field.h 看起来像这样:
#ifndef field
#define field
#include <iostream>
#include <string>
#include <fstream>
void loadLevel(int levelnumber);
void drawField();
#endif // !field
问题是我不知道在哪里定义 char 字段,因为如果在这些文件中的任何一个中完成,我都会收到错误。那么我需要做什么才能让 char 字段在 field.cpp 中工作并因此在我的 main 中工作?
PS 这是我的第一个 C++ 程序,我每天都在学习新东西。我很感激任何关于如何更好地做某些事情的提示^^
亲切的问候,本杰明