C ++ передать переменную из .cpp в заголовочный файл - PullRequest
0 голосов
/ 30 апреля 2011

это относится к вопросу, который я задавал ранее: массив C ++ в заголовочном файле

в файле main.cpp есть переменная с именем fin1

ifstream fin1("ACW2_data.txt");

это может быть глупым вопросом, но как я могу использовать значение этой переменной из main.cpp в заголовочном файле?(т.е. есть ли способ передачи переменных между двумя файлами?)

может помочь любая другая информация об использовании заголовочных файлов

Заранее спасибо

Ответы [ 3 ]

3 голосов
/ 30 апреля 2011

Эта переменная может быть объявлена ​​в файле заголовка как extern.

extern ifstream fin1;

Теперь вы можете использовать эту переменную везде, где вы #include этот файл заголовка, включая сам файл заголовка.Вам не нужно передавать переменную как таковую.:)

2 голосов
/ 30 апреля 2011

Я думаю, вам нужно сделать резервную копию и объяснить, что вы пытаетесь сделать. Заголовочные файлы, как правило, предназначены для определения общих определений и объявлений.

Что вы подразумеваете под "использовать значение в заголовочном файле"? В общем, файл заголовка не там, где выполняется код. Итак, что нужно использовать эту переменную там?

Вообще говоря, переменные, которые необходимо использовать более чем в одном файле, должны быть объявлены в заголовке для начала. В C ++ это обычно происходит в форме членов класса.

Еще более распространенным является передача переменных в качестве аргументов, когда другая функция или метод должны использовать то же значение.

Я не могу судить по предоставленной вами информации, но, похоже, вы на неправильном пути ко мне.

0 голосов
/ 20 апреля 2018

Объявите эту переменную как extern.

extern ifstream fin1;

Чем больше вы изменяете ее, тем значение обновляется и будет готово в вашем файле заголовка. И вы можете включать заголовок тура везде и использовать эту переменную

...