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

Link error на inline функцию - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Какая должна быть структура сложного (объемного) проекта? http://www.cyberforum.ru/cpp-beginners/thread162804.html
Работа программы начинается с выполнения функции main(). В самой программе куча функций и классов. Как организовать структуру достаточно сложного проекта (программы), чтобы не "утонуть" в ней?...
C++ #include <list> - конфликт using namespace std с другими инклюдами Всем привет. Появилась надобность использовать списки, однако #include <list> подключается только вместе с using namespace std. Мои инклюды #pragma once #include "network.h" #include <d3dx9.h>... http://www.cyberforum.ru/cpp-beginners/thread162802.html
C++ WMI и Dev-C++
Мне нужно узнать объем видеопамяти на эту тему на гуглил что нужно использовать Win32_VideoConfiguration Class, но компилятор ругается на кучу ошибок даже на этом примере...
C++ Стражи включения
Что значат эти строчки, #ifndef _CIRCL_H #define _CIRCL_H #endif /* _CIRCL_H */ понял так: если не дефинирована _CIRCL_H
C++ Римская система счисления. http://www.cyberforum.ru/cpp-beginners/thread162758.html
Всем здравствуйте! Очень нужна помощь в написании программы по переводу из римской системы счисления в арабскую на языке СИ. Я в этом почти ничего не понимаю. Заранее спасибо!
C++ Найти в строке string наиболее часто встречающуюся пару символов и заменить на один новый символ нужно найти в строке пару символов, которые повторяются чаще всех и заменить их на один новый символ например acfghhachfjiac "ac" заменить на "X" и чтобы в итоге вышло XfghhXhfjiX как считать... подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
5775 / 3425 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
01.09.2010, 13:29
Цитата Сообщение от nimoid Посмотреть сообщение
А где пространство имен открывать?
Лучше его вообще не открывать, а явно уточнять используемое пространство имен перед идентификатором (например, std::cout)
Цитата Сообщение от nimoid Посмотреть сообщение
Покажите пожалуйста пример #ifndef-#define-#endif , я еще до этого не дошел по ходу
Тут нужно сделать небольшое отступление и рассказать, как производится обработка директивы include. Перед компиляцией программы препроцессор просматривает файлы и, когда натыкается на директиву #include, производит подстановку на место директивы всего содержимого файла, указанного в директиве (предварительно удалив комментарии и подставив #define'ы). Так вот, в крупных проектах может случиться так, что некоторые заголовочные файлы должны подключаться несколько раз (да и при использовании стандарной библиотеки, см. пример выше - iostream подключается в файле main.cpp и cats.hpp). Если не использовать связку #ifndef-#define-#endif, то получается, что препроцессор вставит содержимое заголовочного файла два (или больше) раза подряд, что будет ошибкой повторного определения классов, функций и т.д., описанных в этом заголовочном файле. А так во время первого подключения заголовочного файла происходит определение символа (#define CATS_HPP), которое заставляет препроцессор пропускать следующие подключения этого файла.
Вместо всего этого (#ifnef-#define-#endif) можно было бы один раз прописать в начале заголовочного файла #pragma once, но вся беда в том, что эта директива поддерживается не всеми компиляторами.

Можешь прочитать faq для окончательного просветления
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru