Форум программистов, компьютерный форум CyberForum.ru

Как избавиться от замусоривания cpp файлов дубликатами деклараций функций и переменных? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Прерывание функции из другой функции http://www.cyberforum.ru/cpp-beginners/thread1302724.html
День добрый. У меня есть написанная программа в Qt в которой при нажатии на одну кнопку начинается вычисление больших трехмерных массивов, это может занимать много времени. Мне нужно создать другую кнопку, которая будет останавливать процесс расчета массивов, и выведет промежуточный результат. Вопрос заключается в том, как из одной функции остановить выполнение цикла другой функции? Спасибо...
C++ Дан целочисленный массив размера N. Удалить из массива все одинаковые элементы, оставив их последние вхождения #include <iostream> #include <ctime> using namespace std; int main() { setlocale(LC_ALL, "rus"); int n, i; time_t t; cout<<"Введите количество элементов массива: "; http://www.cyberforum.ru/cpp-beginners/thread1302723.html
C++ Такой sizeof - это нормально?
sizeof(PVOID) 8 байт, а sizeof (long int) 4 байта.
C++ Ошибка преобразования класса
Добрый день! Уважаемые, помогите пожалуйста найти ошибку. #include <iostream> #include <stdio.h> #include <string.h> #include <locale> using namespace std; class sotr{ private:
C++ Дано вещественное x. Вычислить z =f( x ) http://www.cyberforum.ru/cpp-beginners/thread1302705.html
Задачу надо переписывать на форум. Редактор формул внизу страницы!
C++ Чем дебажить x64? Среда code blocks, компилятор tdm64-gcc-4.8.1-3. не берёт уникодовые строки:. подробнее

Показать сообщение отдельно
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
3692 / 1967 / 514
Регистрация: 18.10.2014
Сообщений: 3,546
17.11.2014, 09:08     Как избавиться от замусоривания cpp файлов дубликатами деклараций функций и переменных?
Цитата Сообщение от programina Посмотреть сообщение
Как сделать, чтобы можно было один раз написать int a?
Ну вообще-то должно быть два раза: объявление и определение. Для того, чтобы получить глобальную переменную (если она вам действительно нужна), в заголовочном файле должно быть написано 'extern int a;' (объявление), а в одном-единственном файле реализации - просто 'int a;' (определение). В какой именно файл вы поместите это определение - ваш выбор. Все.

А то, что у вас определение 'int a;' повторяется в нескольких файлах реализации - это грубая ошибка. В языке С++ такое запрещается. Поэтому ответ на ваш вопрос прост - просто выкосите нафиг лишние определения из файлов реализации и оставьте лишь одно объявление в заголовочном файле и одно определение в каком-то файле реализации.

Ситуация полностью аналогична ситуации с 'foo'. Вы же не пихаете определение функции 'foo' в несколько файлов реализации? Вот и определение переменной тоже пихать не надо.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru