2015-07-23 2 views
1

Я хочу открыть выходной файл в main.cpp, а затем записать в него другой файл calculate.cpp.C++: создание глобальной переменной потока

main.cpp:

#include main.hpp 

using namespace std; 

int main() { 
    outputfile.open("output.txt"); 
} 

с использованием глобальной переменной из файла заголовка main.hpp

extern std::ofstream outputfile; 

Затем написать к нему в другом файле calculate.cpp

#include main.hpp 

void calculate() { 
    outputfile << "write this to the external file" << endl; 
} 

Когда я делаю это, я получаю ошибку

undefined reference to 'outputfile' in main.cpp 
undefined reference to 'outputfile' in calculate.cpp 

Я работаю на большом коде, который имеет Premade сделать файл, так что я не думаю, что правильное связывание является проблемой.

ответ

2

Вы не указали номер outputfile в любом месте. Строка extern std::ofstream outputfile; объявляет переменную, но ничто не определяет ее для хранения. Вам понадобится следующая строка в main.cpp или calculate.cpp

std::ofstream outputfile; 

 Смежные вопросы

  • Нет связанных вопросов^_^