Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Прерывание функции из другой функции День добрый. У меня есть написанная программа в Qt в которой при нажатии на одну кнопку начинается вычисление больших трехмерных массивов, это может занимать много времени. Мне нужно создать другую кнопку, которая будет останавливать процесс расчета массивов, и выведет промежуточный результат. Вопрос заключается в том, как из одной функции остановить выполнение цикла другой функции? Спасибо... https://www.cyberforum.ru/ cpp-beginners/ thread1302724.html Дан целочисленный массив размера N. Удалить из массива все одинаковые элементы, оставив их последние вхождения C++
#include <iostream> #include <ctime> using namespace std; int main() { setlocale(LC_ALL, "rus"); int n, i; time_t t; cout<<"Введите количество элементов массива: ";
C++ Такой sizeof - это нормально? sizeof(PVOID) 8 байт, а sizeof (long int) 4 байта. https://www.cyberforum.ru/ cpp-beginners/ thread1302718.html C++ Ошибка преобразования класса Добрый день! Уважаемые, помогите пожалуйста найти ошибку. #include <iostream> #include <stdio.h> #include <string.h> #include <locale> using namespace std; class sotr{ private: https://www.cyberforum.ru/ cpp-beginners/ thread1302714.html
Дано вещественное x. Вычислить z =f( x ) C++
Задачу надо переписывать на форум. Редактор формул внизу страницы!
C++ Чем дебажить x64? https://www.cyberforum.ru/ cpp-beginners/ thread1302697.html
Среда code blocks, компилятор tdm64-gcc-4.8.1-3. не берёт уникодовые строки:.
C++ Вывод больших чисел https://www.cyberforum.ru/ cpp-beginners/ thread1302683.html
Неправильно выводится номер телефона (номер телефона с 11 цифрами).Помогите исправить class.h #ifndef CLASS_H #define CLASS_H // класс "Структура МИИТа" class MIIT { public: void menu();
Заполнить массив с клавиатуры C++
Простое задание, но я немного не понимаю "Дан одномерный массив, состоящий из N целочисленных элементов. Введите массив с клавиатуры."
C++ Использование имени макроса в обычных условиях Как использовать такие имена макросов(см. пример), только не в директиве define, а в обычных условиях кода?(имеется в виду в виде обычных операторов if(){..}else{..}) #if defined(_WIN64) typedef __int64 INT_PTR; #else typedef int INT_PTR; #endif #if (_MSC_VER >= 1300) #define POINTER_64 __ptr64 #else https://www.cyberforum.ru/ cpp-beginners/ thread1302672.html C++ Функция проверки возраста по дате рождения из string Здравствуйте, есть строка вида: Имя День Месяц Год Valera 15 6 1987 Задача состоит в том чтобы написать функцию для проверка больше или равно человеку 20 лет. Если Да вернуть true, нет false. Алгоритм вроде как простой, но реализовать никак не получается, помогите пожалуйста... Вот код нужной функции: bool moreThen(string userRecord) https://www.cyberforum.ru/ cpp-beginners/ thread1302670.html
C++ Написание 2d игр
Здравствуйте. Хочу начать писать элементарные 2д игры(арканоиды, что-то похожее на space inviders, etc...) До этого писал консольный лабиринт и по сути всё. Так вот, посоветуйте, на что мне стоит обратить внимание в первую очередь? Какие библиотеки нужны для подобного рода деятельности ? P.S возможно подобная тема уже была, но ответа на вопрос я в ней так и не нашёл(прошу прощение за...
C++ Почему функция atanh работает неправильно? https://www.cyberforum.ru/ cpp-beginners/ thread1302659.html
Задание http://content-15.foto.my.mail.ru/mail/megabayt_m/_answers/i-359.jpg Кусок кода for (double X = Xn; X <= Xk; X += dX) { n = 0; sum = 0; y = 0; do { y = 1 / ((2 * n + 1)*pow(X, (2 * n + 1)));
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
17.11.2014, 11:48 0

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

17.11.2014, 11:48. Показов 1793. Ответов 28
Метки (Все метки)

Ответ

Пример в шапке темы абсолютно рабочий после выкидывания объявления "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 говорит о том, что определение может находиться где-то вне текущего модуля(файла).

Вернуться к обсуждению:
Как избавиться от замусоривания cpp файлов дубликатами деклараций функций и переменных? C++
1
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.11.2014, 11:48
Готовые ответы и решения:

как избавиться от переменных в разделе данных
Написал на ассемблере подпрограмму которая делает шейкерную сортировку. Для границ массива и i-того...

Как избавиться в браузерной строке от get переменных
Привет всем. Как мне избавиться от GET переменных в браузерной строке. Вот пример адреса...

Есть три файла. файл main.cpp и Source.cpp знают только Header.h, так как он подключен. как же подключается Source.cpp
main.cpp #include &lt;iostream&gt; #include&quot;Header.h&quot; using namespace std; int main() { A ob;...

Как избавиться от глобальных переменных в многофайловом проекте на С++?
Некоторые глобальные переменные можно заменить на глобальные константы. Долго промучилась с...

28
17.11.2014, 11:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.11.2014, 11:48
Помогаю со студенческими работами здесь

Подключение файлов main.cpp some.cpp some.h
Всем привет, программа разделенна на три файла poly.cpp main.cpp poly.h Кто мог бы объяснить как...

Графический интерфейс НЕ GUI! как избавиться от глобальных переменных?
Создаю простенький графический интерфейс function = interface( input_args ) global hAxes...

Как избавиться от системных процедур и функций?
Здравствуйте. У меня есть приложение, которое получает список всех пользовательских процедур и...

Как перенести программу с С++ на С и избавиться от стандартных функций?
Есть программа, заменяющая вводимые цифры соотв. словами. Подскажите, пожалуйста, как перевести её...

Как писать проэкты из нескольких CPP файлов ?
Поставил себе Visual C++ Express 2010, написал консольную программку. У неё внутри получилось много...

Как подключить библиотеку из двух файлов (.cpp и .h) к проекту
Подскажите, пожалуйста, как подключить библиотеку из двух файлов к проекту? dll-файл подключается...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru