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

Множественные переопределения сбивающие компилятор столку - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Линейный однонаправленный список http://www.cyberforum.ru/cpp-beginners/thread1112241.html
Добрый вечер! Задача: L – линейный однонаправленный список Проверить, упорядочены ли элементы списка по алфавиту. Подскажите как сделать список классом? (без использования структур)
C++ Вертикальный скролл Здравствуйте! Не могу разобраться с вертикальным скроллом. Скиньте, пожалуйста, пример с рабочим вертикальным(ли горизонтальным) скроллом. (желательно WinAPI). http://www.cyberforum.ru/cpp-beginners/thread1112231.html
C++ Нужно написать рекурсивную функцию, которая определит - является ли симметричной часть строки от n, до z
Нужно написать рекурсивную функцию, которая определит - является ли симметричной часть строки от n, до z. Выдает ошибку: #include <iostream> bool simetrija(int start, int end, int *p); using namespace std; int main () { int mas={1,2,3,4,5,5,4,3,2,1}, n, z; cout<<"\ns kakogo chisla nachinat':"; cin>>n;
C++ Есть ли ошибки
В чем ошибка ? Все ли я правильно сделал? #include <new> #include <cstring> #include <iostream> using namespace std; // начало объявления класса enum color {red, gren, blue}; class monstr // имя самого класса
C++ Вывести русский текст http://www.cyberforum.ru/cpp-beginners/thread1112197.html
Помогите пожалуйста, как вывести в консоль не просто русский текст, а именно вывести текст из переменной?
C++ VS 12 ограничение на создание потоков Использую реализацию OpenMP для распараллеливания вычислений. Почему то больше 64 потоков не создает. 2х ядерный процессор, 3гб оперативки, но ни в какую не хочет создавать 100,200,300 потоков? подскажите, может в настройках что поменять надо или какие библиотеку подключить? просто это точно дело не в OpenMP так как видел примеры реализации с большим кол-вом потоков. Что это может быть за... подробнее

Показать сообщение отдельно
DrOffset
6452 / 3826 / 885
Регистрация: 30.01.2014
Сообщений: 6,622
05.03.2014, 21:41     Множественные переопределения сбивающие компилятор столку
Xipxop, у тебя глобальные переменные остались с внешним связыванием:
global_vars
local_var_stack
func_table
table
intern_func

решение - убрать в один из cpp, в h-файле объявить как extern. Должно работать

Добавлено через 6 минут
Цитата Сообщение от Xipxop Посмотреть сообщение
Другие компиляторы жаловались на бредовые ошибки, типа переменые структур объявлены много раз во всех cpp файлах...(хотя объявлены 1 раз в stucturs.h)
Это не бредовые ошибки. Это происходит из-за принципа раздельной компиляции в С++ (каждый файл компилируется независимо).

Процитирую сам себя:
Цитата Сообщение от DrOffset Посмотреть сообщение
Вот есть у тебя файл А, ты подключаешь туда через include файл B. Это значит, что все содержимое файла B становится частью файла А.
Теперь есть у тебя файл С и ты подключаешь туда опять же файл B. Происходит тоже самое.
Теперь, после этого ты получил два файла, которое абсолютно полностью содержат в себе содержимое файла B (в нашем случае - переменную). т.к. для функций и глобальных переменных в С++ по умолчанию используется внешнее связывание, то линковщик, видя две одинаковые функции или переменные, ругается на дубликат.
 
Текущее время: 10:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru