<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=410936&amp;view=findpost&amp;p=3729342</guid>
        <pubDate>Fri, 23 Jun 2017 07:42:40 +0000</pubDate>
        <title>Ошибка С2504 - не определен базовый класс</title>
        <link>https://forum.sources.ru/index.php?showtopic=410936&amp;view=findpost&amp;p=3729342</link>
        <description><![CDATA[agapUP: Доброе время суток<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=410936&view=findpost&p=3728799'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>_lcf_ &#064; <time class="tag-quote__quoted-time" datetime="2017-06-20T10:56:50+00:00">20.06.17, 10:56</time></span><div class='quote '> ...иначе компиль не знает сколько места надо выделить под эти объекты. </div></div><br>
Я не берусь судить, ибо не знаю&#33; :huh:  :D, но после этих строк мне чет зачесалось в пятой точке ;), что мои траблы связаны с выделением-затиранием память процесса :unsure: <br>
<br>
ВОТ&#33; Один проект&#33; Два дочерних и один базовый:<br>
 <br>
...<br>
<br>
А скрины вставить не вышло.....<br>
<br>
Но там суть такая: для класса А я хидер базового включил в срр-файл класса А - и ошибки &quot;С2504 - не определен базовый класс&quot; не возникло&#33;<br>
А для класса B - эта ошибка возникла&#33; :unsure: <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2017-06-23T10:49:42+03:00">23.06.17, 07:49</time></span></span><br>
Всем спасибо :thanks:]]></description>
        <author>agapUP</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=410936&amp;view=findpost&amp;p=3728812</guid>
        <pubDate>Tue, 20 Jun 2017 12:16:34 +0000</pubDate>
        <title>Ошибка С2504 - не определен базовый класс</title>
        <link>https://forum.sources.ru/index.php?showtopic=410936&amp;view=findpost&amp;p=3728812</link>
        <description><![CDATA[Cfon: <strong class='tag-b'>agapUP</strong> <br>
все указанные инклюды препроцесовр включает в файлы cpp, причем в каждый cpp, но повторов нет из-за #pragma once]]></description>
        <author>Cfon</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=410936&amp;view=findpost&amp;p=3728800</guid>
        <pubDate>Tue, 20 Jun 2017 10:59:59 +0000</pubDate>
        <title>Ошибка С2504 - не определен базовый класс</title>
        <link>https://forum.sources.ru/index.php?showtopic=410936&amp;view=findpost&amp;p=3728800</link>
        <description><![CDATA[KILLER: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=410936&view=findpost&p=3728798'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>agapUP &#064; <time class="tag-quote__quoted-time" datetime="2017-06-20T10:42:58+00:00">20.06.17, 10:42</time></span><div class='quote '>НО&#33;&#33; Чем мой пример отличается от концепции С++?&#33; :unsure: :blink:</div></div><br>
В каком смысле? По концепции С++, ты написал неработающий код. Смотри? давай на пальцах, вот что ты написал:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">int main()</div><div class="code_line">{</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; int x = 10;</div><div class="code_line">&nbsp;&nbsp; int result = x + y;</div><div class="code_line">&nbsp;&nbsp; int y = 20;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; std::cout &#60;&#60; &quot;x+y=&quot; &#60;&#60; result;</div><div class="code_line">&nbsp;&nbsp; return 0;</div><div class="code_line">}</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
Компилятор тебе говорит - &quot;Я не знаю что за такая переменная y в выражении    int result = x + y;&quot;<br>
Что тут не понятного?<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=410936&view=findpost&p=3728798'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>agapUP &#064; <time class="tag-quote__quoted-time" datetime="2017-06-20T10:42:58+00:00">20.06.17, 10:42</time></span><div class='quote '>Ведь поля класса типа string определяются в описании самого класса, хотя включение этой библиотеки<br>
осуществляется в ipo1.cpp&#33;&#33;&#33;</div></div><br>
Чего? Если ты не подключишь string в хидер, но будешь его там использовать - будет ровно такая же ошибка.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=410936&view=findpost&p=3728798'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>agapUP &#064; <time class="tag-quote__quoted-time" datetime="2017-06-20T10:42:58+00:00">20.06.17, 10:42</time></span><div class='quote '> Когда использовал &quot;ifndef ...&quot; - компелятор ругался о многократном включении. Вот и сформировалось у меня такое представление. А зависимость показана в реализации: файл ipo1.cpp </div></div><br>
компилятор может ругатся о многократном включении, если отсуствуют гарды компиляции:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">#ifndef __SOME_HEADER_FILE__ //! гард предотвращающий повторное включение хидера.</div><div class="code_line">#define __SOME_HEADER_FILE__</div><div class="code_line">&nbsp;</div><div class="code_line">//! Какие то объявления</div><div class="code_line">#endif</div></ol></div></div></div></div>]]></description>
        <author>KILLER</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=410936&amp;view=findpost&amp;p=3728799</guid>
        <pubDate>Tue, 20 Jun 2017 10:56:50 +0000</pubDate>
        <title>Ошибка С2504 - не определен базовый класс</title>
        <link>https://forum.sources.ru/index.php?showtopic=410936&amp;view=findpost&amp;p=3728799</link>
        <description><![CDATA[_lcf_: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=410936&view=findpost&p=3728798'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>agapUP &#064; <time class="tag-quote__quoted-time" datetime="2017-06-20T10:42:58+00:00">20.06.17, 10:42</time></span><div class='quote '> Вот пример, стандартные библиотеки, типа #include &lt;string&gt; - у меня и в мыслях нет их в хедер загонять&#33;&#33;&#33;&#33;</div></div><br>
а это потому что ты не наследуешься от них. зафорвардить можно только классы, да и то только если будешь использовать указатели - так как они занимают фиксированный объём. ну еще енумы всякие. а если ты хочешь в хидере обьявить сам объект или наследоваться, то тогда надо делать инклюд, иначе компиль не знает сколько места надо выделить под эти объекты.]]></description>
        <author>_lcf_</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=410936&amp;view=findpost&amp;p=3728798</guid>
        <pubDate>Tue, 20 Jun 2017 10:42:58 +0000</pubDate>
        <title>Ошибка С2504 - не определен базовый класс</title>
        <link>https://forum.sources.ru/index.php?showtopic=410936&amp;view=findpost&amp;p=3728798</link>
        <description><![CDATA[agapUP: Доброе время суток<br>
Спасибо, что уделяете мне время :thanks: <br>
KILLER, спасибо за разъяснения :thanks: <br>
<br>
НО&#33;&#33; Чем мой пример отличается от концепции С++?&#33; :unsure:  :blink: <br>
Прошу у Вас прощения :blush: , видать я не очень наглядно продемонстрировал вопрос...<br>
Попытаюсь исправить:<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">//ipo1.h</div><div class="code_line">clas Cipo: public CCommAlg</div><div class="code_line">{</div><div class="code_line">//...</div><div class="code_line">};</div><div class="code_line">//...</div><div class="code_line">//Конец ipo1.h</div><div class="code_line">&nbsp;</div><div class="code_line">//ipo1.cpp</div><div class="code_line">&nbsp;</div><div class="code_line">#include &#60;vector&#62;</div><div class="code_line">//...</div><div class="code_line">#include &#60;string&#62;</div><div class="code_line">#include &#60;hrono&#62;</div><div class="code_line">//...</div><div class="code_line">&nbsp;</div><div class="code_line">#include &quot;CommAlg.h&quot; !!!!!!!!!!!!!!!!!!!!!!!!!!</div><div class="code_line">//...</div><div class="code_line">#include &quot;ipo1.h&quot; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!</div><div class="code_line">&nbsp;</div><div class="code_line">/*</div><div class="code_line">РЕАЛИЗАЦИЯ МЕТОДОВ Cipo1</div><div class="code_line">*/</div><div class="code_line">&nbsp;</div><div class="code_line">//Конец ipo1.cpp</div></ol></div></div></div></div> <br>
<br>
Так вот чем может (по концепции) реализация в ipo1.cpp:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">//...</div><div class="code_line">#include &quot;CommAlg.h&quot; </div><div class="code_line">//...</div><div class="code_line">#include &quot;ipo1.h&quot;</div><div class="code_line">//...</div></ol></div></div></div></div><br>
Может отличаться от:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">#pragma once</div><div class="code_line">#include &quot;CommAlg.h&quot;</div><div class="code_line">class Cipo: public CCommAlg</div></ol></div></div></div></div><br>
? :unsure: <br>
Ведь поля класса типа string определяются в описании самого класса, хотя включение этой библиотеки<br>
осуществляется в ipo1.cpp&#33;&#33;&#33;<br>
<br>
Использую компилятор VS2012 <br>
<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=410936&view=findpost&p=3728660'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Kray74 &#064; <time class="tag-quote__quoted-time" datetime="2017-06-19T13:36:09+00:00">19.06.17, 13:36</time></span><div class='quote '>Ну почему же? Если в *.h файле есть зависимость, то пусть он хэдер с этой зависимостью и подключает.</div></div> Знаете... Для меня это как-то не убедительно звучит&#33; Вот пример, стандартные библиотеки, типа #include &lt;string&gt; - у меня и в мыслях нет их в хедер загонять&#33;&#33;&#33;&#33;&#33; Даже и не экспериментировал&#33; Когда использовал &quot;ifndef ...&quot; - компелятор ругался о многократном включении. Вот и сформировалось у меня такое представление. А зависимость показана в реализации: файл ipo1.cpp]]></description>
        <author>agapUP</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=410936&amp;view=findpost&amp;p=3728675</guid>
        <pubDate>Mon, 19 Jun 2017 15:42:41 +0000</pubDate>
        <title>Ошибка С2504 - не определен базовый класс</title>
        <link>https://forum.sources.ru/index.php?showtopic=410936&amp;view=findpost&amp;p=3728675</link>
        <description><![CDATA[JoeUser: <div class="tag-spoiler spoiler closed"><div class="spoiler_header" onclick="openCloseParent(this)">Скрытый текст</div><div class="body"><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=410936&view=findpost&p=3728662'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>KILLER &#064; <time class="tag-quote__quoted-time" datetime="2017-06-19T13:52:13+00:00">19.06.17, 13:52</time></span><div class='quote '>#include - макрос</div></div><br>
Если точнее - директива препроцессора.</div></div>]]></description>
        <author>JoeUser</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=410936&amp;view=findpost&amp;p=3728662</guid>
        <pubDate>Mon, 19 Jun 2017 13:52:13 +0000</pubDate>
        <title>Ошибка С2504 - не определен базовый класс</title>
        <link>https://forum.sources.ru/index.php?showtopic=410936&amp;view=findpost&amp;p=3728662</link>
        <description><![CDATA[KILLER: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=410936&view=findpost&p=3728644'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>agapUP &#064; <time class="tag-quote__quoted-time" datetime="2017-06-19T12:24:22+00:00">19.06.17, 12:24</time></span><div class='quote '>Не думал, что препроцессор так переворачивает подключения :unsure: :blink:</div></div><br>
Ничего он не переворачивает, в С/С++ единица компиляции считается с/cpp файл. #include - макрос<br>
<br>
вот ты пишешь:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">//! File: A.h</div><div class="code_line">#ifndef _A_H_</div><div class="code_line">#define _A_H_</div><div class="code_line">&nbsp;</div><div class="code_line">class A</div><div class="code_line">{</div><div class="code_line">...</div><div class="code_line">};</div><div class="code_line">#endif</div></ol></div></div></div></div><br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">//! File: A.cpp</div><div class="code_line">#include &quot;A.h&quot;</div><div class="code_line">//! реализация</div><div class="code_line">A::A()</div><div class="code_line">{</div><div class="code_line">...</div><div class="code_line">}</div><div class="code_line">...</div></ol></div></div></div></div><br>
В итоге у тебя есть 1 класс, который разнесен на два файла, как только ты запустишь компиляцию, препроцессор вместо строчки #include &quot;A.h&quot; подставит содержимое этого файла(к слову так даже массивы можно объявлять.)<br>
А теперь расскажи следующее, ты написал:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">//! File: A.h</div><div class="code_line">#ifndef _A_H_</div><div class="code_line">#define _A_H_</div><div class="code_line">&nbsp;</div><div class="code_line">class A : public CBase</div><div class="code_line">{</div><div class="code_line">...</div><div class="code_line">};</div><div class="code_line">#endif</div></ol></div></div></div></div><br>
Что такое CBase ? Верно ты не знаешь, а с какого перепуга компилятор должен об этом узнать? Другое дело, что есть инструменты сказать компилятору о том, чтоб он особо не ругался, т.к. какой нибудь класс уже где то объявлен, например это касается forward declarations, но допустимы если у тебя ссылочный тип данных или указатель. А тут наследование, соответственно, чтобы компилятор знал что это за тип, ему его нужно объявить, а у тебя идет использование типа до того, как ты его объявил.]]></description>
        <author>KILLER</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=410936&amp;view=findpost&amp;p=3728660</guid>
        <pubDate>Mon, 19 Jun 2017 13:36:09 +0000</pubDate>
        <title>Ошибка С2504 - не определен базовый класс</title>
        <link>https://forum.sources.ru/index.php?showtopic=410936&amp;view=findpost&amp;p=3728660</link>
        <description><![CDATA[Kray74: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=410936&view=findpost&p=3728644'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>agapUP &#064; <time class="tag-quote__quoted-time" datetime="2017-06-19T12:24:22+00:00">19.06.17, 12:24</time></span><div class='quote '>Не жалую я подключения хидеров в *.h-файлы&#33;</div></div><br>
Ну почему же? Если в *.h файле есть зависимость, то пусть он хэдер с этой зависимостью и подключает.]]></description>
        <author>Kray74</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=410936&amp;view=findpost&amp;p=3728644</guid>
        <pubDate>Mon, 19 Jun 2017 12:24:22 +0000</pubDate>
        <title>Ошибка С2504 - не определен базовый класс</title>
        <link>https://forum.sources.ru/index.php?showtopic=410936&amp;view=findpost&amp;p=3728644</link>
        <description><![CDATA[agapUP: Спасибо :thanks: <br>
<br>
Не думал, что препроцессор так переворачивает подключения  :unsure:  :blink: <br>
Всегда так подключал<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">*.cpp</div><div class="code_line">//все включения</div><div class="code_line">#include &#60;&#62;</div><div class="code_line">...</div><div class="code_line">e.g.:#include &quot;base.h&quot;</div><div class="code_line">&nbsp;</div><div class="code_line">...</div><div class="code_line">e.g.:#include &quot;child.h&quot;</div><div class="code_line">&nbsp;</div><div class="code_line">Cchild::Cchild() {}</div><div class="code_line">//И т.д.</div><div class="code_line">//...</div></ol></div></div></div></div> <br>
<br>
Не жалую я подключения хидеров в *.h-файлы&#33;]]></description>
        <author>agapUP</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=410936&amp;view=findpost&amp;p=3728284</guid>
        <pubDate>Fri, 16 Jun 2017 12:13:38 +0000</pubDate>
        <title>Ошибка С2504 - не определен базовый класс</title>
        <link>https://forum.sources.ru/index.php?showtopic=410936&amp;view=findpost&amp;p=3728284</link>
        <description><![CDATA[KILLER: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=410936&view=findpost&p=3728275'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>agapUP &#064; <time class="tag-quote__quoted-time" datetime="2017-06-16T10:33:13+00:00">16.06.17, 10:33</time></span><div class='quote '>Разве я этого не писал?...</div></div><br>
Это ты написал в cpp файле, после отработки препроцессора, у тебя в твой cpp файл, включится *.h файл и будет все выглядеть вот так вот:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">// child.tmp - это выходной файл, который сгенерируется после того, как отработает препроцессор</div><div class="code_line">&nbsp;</div><div class="code_line">class Cchild: public Cbase</div><div class="code_line">{</div><div class="code_line">//...</div><div class="code_line">};</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">class Cbase</div><div class="code_line">{</div><div class="code_line">//...</div><div class="code_line">};</div><div class="code_line">&nbsp;</div><div class="code_line">...</div><div class="code_line">//! Реализация Cchild</div></ol></div></div></div></div><br>
И выходит, что в точке, где ты объявляешь свой класс Cchild - компилятор ничего не знает про тот класс, от которого ты наследуешься(в твоем случае про класс Cbase), он узнает о том, где он объявлен и что это за класс уже ниже. А до этого он про него не знает, вот он тебе и говорит - я не знаю что за такой класс, от которого ты наследуешься.]]></description>
        <author>KILLER</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=410936&amp;view=findpost&amp;p=3728276</guid>
        <pubDate>Fri, 16 Jun 2017 10:36:30 +0000</pubDate>
        <title>Ошибка С2504 - не определен базовый класс</title>
        <link>https://forum.sources.ru/index.php?showtopic=410936&amp;view=findpost&amp;p=3728276</link>
        <description><![CDATA[Kray74: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=410936&view=findpost&p=3728275'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>agapUP &#064; <time class="tag-quote__quoted-time" datetime="2017-06-16T10:33:13+00:00">16.06.17, 10:33</time></span><div class='quote '>И тут возникает вопрос: а что мне скажет компилятор на многократное подключение &quot;base.h&quot;? </div></div><br>
Ничего не скажет, pragma once для этого и нужен, чтобы включал только один раз]]></description>
        <author>Kray74</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=410936&amp;view=findpost&amp;p=3728275</guid>
        <pubDate>Fri, 16 Jun 2017 10:33:13 +0000</pubDate>
        <title>Ошибка С2504 - не определен базовый класс</title>
        <link>https://forum.sources.ru/index.php?showtopic=410936&amp;view=findpost&amp;p=3728275</link>
        <description><![CDATA[agapUP: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=410936&view=findpost&p=3728262'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>KILLER &#064; <time class="tag-quote__quoted-time" datetime="2017-06-16T08:57:18+00:00">16.06.17, 08:57</time></span><div class='quote '>Ты не пробовал #include &quot;base.h&quot; подключить в *.h файл? </div></div><br>
Подключил - работает&#33; НО&#33; Разве я этого не писал?...<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">...</div><div class="code_line">child.cpp</div><div class="code_line">#include &quot;base.h&quot;</div><div class="code_line">#include &quot;child.h&quot;</div></ol></div></div></div></div><br>
<br>
Тут какая логика, этот &quot;Cbase&quot; - общие алгоритмы: нутация, расчет векторов и т.д...<br>
Его поля и методы используются, скажем, в Child1,Child2,Child3....  <br>
Теперь обобщенная логика main():<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">#include &quot;child1.h&quot;</div><div class="code_line">#include &quot;child2.h&quot;</div><div class="code_line">#include &quot;child3.h&quot;</div><div class="code_line">//...</div><div class="code_line">&nbsp;</div><div class="code_line">void main()</div><div class="code_line">{</div><div class="code_line">//Задача 2</div><div class="code_line">child2.task()</div><div class="code_line">//Анализ данных </div><div class="code_line">//...</div><div class="code_line">//Задача 1</div><div class="code_line">child1.task()</div><div class="code_line">//Анализ данных</div><div class="code_line">//...</div><div class="code_line">//Задача 1</div><div class="code_line">child3.task()</div><div class="code_line">//Анализ данных</div><div class="code_line">//...</div><div class="code_line">}</div></ol></div></div></div></div><br>
И тут возникает вопрос: а что мне скажет компилятор на многократное подключение &quot;base.h&quot;? :unsure:]]></description>
        <author>agapUP</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=410936&amp;view=findpost&amp;p=3728262</guid>
        <pubDate>Fri, 16 Jun 2017 08:57:18 +0000</pubDate>
        <title>Ошибка С2504 - не определен базовый класс</title>
        <link>https://forum.sources.ru/index.php?showtopic=410936&amp;view=findpost&amp;p=3728262</link>
        <description><![CDATA[KILLER: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=410936&view=findpost&p=3728258'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>agapUP &#064; <time class="tag-quote__quoted-time" datetime="2017-06-16T08:33:24+00:00">16.06.17, 08:33</time></span><div class='quote '>Вот че это за ... такая? :unsure:</div></div><br>
А с чего ты вдруг решил что оно по другому должно работать? Вот ты написал:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">child.h child</div><div class="code_line">pragma once</div><div class="code_line">class Cchild: public Cbase</div><div class="code_line">{</div><div class="code_line">//...</div><div class="code_line">};</div></ol></div></div></div></div><br>
Расскажи пожалуйста, откуда компилятор, при компиляции этого кода будет знать что такое CBase и где он объявлен?<br>
Ты не пробовал #include &quot;base.h&quot; подключить в *.h файл? <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2017-06-16T08:58:43+00:00">16.06.17, 08:58</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=410936&view=findpost&p=3728228'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>agapUP &#064; <time class="tag-quote__quoted-time" datetime="2017-06-16T07:10:37+00:00">16.06.17, 07:10</time></span><div class='quote '>Все работало&#33;&#33;&#33;&#33;&#33;&#33;</div></div><br>
Очень странно что оно все работало. Не должно было работать, должно было выдать вот такую ошибку, которую ты сейчас и получил.]]></description>
        <author>KILLER</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=410936&amp;view=findpost&amp;p=3728258</guid>
        <pubDate>Fri, 16 Jun 2017 08:33:24 +0000</pubDate>
        <title>Ошибка С2504 - не определен базовый класс</title>
        <link>https://forum.sources.ru/index.php?showtopic=410936&amp;view=findpost&amp;p=3728258</link>
        <description><![CDATA[JoeUser: Опубликуй весь код нормально, ибо приходится только гадать. <br>А если &quot;убираешь&quot; модули (классы) - пересобирай проект полностью, с удалением старых объектных модулей.]]></description>
        <author>JoeUser</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=410936&amp;view=findpost&amp;p=3728228</guid>
        <pubDate>Fri, 16 Jun 2017 07:10:37 +0000</pubDate>
        <title>Ошибка С2504 - не определен базовый класс</title>
        <link>https://forum.sources.ru/index.php?showtopic=410936&amp;view=findpost&amp;p=3728228</link>
        <description><![CDATA[agapUP: Доброе время суток<br>
ПОМОГИТЕЕЕЕЕЕ&#33;&#33;&#33;&#33;Пожалуйста :rolleyes: <br>
<br>
Суть вот в чем:<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">base.h base</div><div class="code_line">pragma once</div><div class="code_line">class Cbase</div><div class="code_line">{</div><div class="code_line">//...</div><div class="code_line">};</div><div class="code_line">&nbsp;</div><div class="code_line">base.cpp base</div><div class="code_line">//реализация base</div></ol></div></div></div></div><br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">child.h child</div><div class="code_line">pragma once</div><div class="code_line">class Cchild: public Cbase</div><div class="code_line">{</div><div class="code_line">//...</div><div class="code_line">};</div><div class="code_line">&nbsp;</div><div class="code_line">child.cpp</div><div class="code_line">#include &quot;base.h&quot;</div><div class="code_line">#include &quot;child.h&quot;</div><div class="code_line">//Реализация Cchild</div></ol></div></div></div></div><br>
<br>
Все работало&#33;&#33;&#33;&#33;&#33;&#33;<br>
Добавляю так же Cchild2 - И ОШИБКА&#33;&#33;&#33;&#33; :unsure:  :wacko: <br>
Удалил из проекта файлы Cchild2&#33;&#33;&#33; Все равно эта ошибка :unsure:  :wall: <br>
Вот че это за ... такая? :unsure:]]></description>
        <author>agapUP</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      </channel>
      </rss>
	