Форум программистов, компьютерный форум 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. не берёт уникодовые строки:. подробнее

Показать сообщение отдельно
MrGluck
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6227 / 3472 / 424
Регистрация: 29.11.2010
Сообщений: 9,178
17.11.2014, 11:48     Как избавиться от замусоривания cpp файлов дубликатами деклараций функций и переменных?
Пример в шапке темы абсолютно рабочий после выкидывания объявления "int a" в main.cpp. TheCalligrapher всё верно расписал.

Возможно, проблема с неполным пониманием сути работы препроцессорной директивы include.
Мысленно подставьте её содержимое во все места, где подключаете заголовочный файл и вот, что получится:

opengl.cpp
C++
1
2
3
4
5
6
7
8
9
extern int a; // переменная помечена как external linkage
extern void foo(); // функция помечена как external linkage
 
int a;
 
void foo()
{
  a = 9;
}
main.cpp
C++
1
2
3
4
5
6
7
8
extern int a; // переменная помечена как external linkage
extern void foo(); // функция помечена как external linkage
 
int main()
{
  a = 5;
  return 0;
}
extern говорит о том, что определение может находиться где-то вне текущего модуля(файла).
 
Текущее время: 23:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru