<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Fehler: &#x27;int&#x27; sollte auf &#x27;;&#x27; folgen]]></title><description><![CDATA[<p>Hey Leute,<br />
habe folgenden Code:</p>
<p>Item_Base.h</p>
<pre><code class="language-cpp">#ifndef ITEM_BASE_H
#define ITEM_BASE_H

#include &lt;string&gt;

class Item_base
{
	public:
		Item_base( const std::string&amp;, double );
		virtual ~Item_base() { }
		Item_base&amp; operator=( const Item_base&amp; );
		Item_base( const Item_base&amp; );
		std::string book() const { return isbn; }
		virtual double net_price( std::size_t cnt ) const { return cnt * price; }
		virtual Item_base* clone() const;

	private:
		std::string isbn;

	protected:
		double price;
};

#endif
</code></pre>
<p>Sales_item.cpp</p>
<pre><code class="language-cpp">#include &quot;Sales_item.h&quot;

using namespace std;

Sales_item::Sales_item():
	p( 0 ), use( new std::size_t( 1 ) )
	{
	}

Sales_item::Sales_item( const Item_base&amp; orig ):
	p( orig.clone() ), use( new std::size_t( 1 ) )
	{
	}

Sales_item::Sales_item( const Sales_item&amp; orig ):
	p( orig.p ), use( orig.use )
	{
		++*use;
	}

Sales_item::~Sales_item()
{
	decr_use();
}

Sales_item&amp; Sales_item::operator=( const Sales_item&amp; rhs )
{
	++*rhs.use;
	decr_use();
	p = rhs.p;
	use = rhs.use;
	return *this;
}

const Item_base* Sales_item::operator-&gt;() const
{
	if( p )
		return p;
	else
		throw std::logic_error( &quot;unbound Sales_item&quot; );
}

const Item_base&amp; Sales_item::operator*() const
{
	if( p )
		return *p;
	else
		throw std::logic_error( &quot;unbound Sales_item&quot; );
}

void Sales_item::decr_use()
{
	if( --*use == 0 )
	{
		delete p;
		delete use;
	}
}
</code></pre>
<p>Ich erhalte folgende Fehler die ich leider ganz und gar nicht verstehe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> :</p>
<pre><code>e:\sources\übungsprogramme\von büchern und tutorials\uebunghandleklasse\uebunghandleklasse\item_base.h(10): error C2144: Syntaxfehler: 'int' sollte auf ';' folgen
1&gt;e:\sources\übungsprogramme\von büchern und tutorials\uebunghandleklasse\uebunghandleklasse\item_base.h(10): error C2144: Syntaxfehler: 'int' sollte auf ';' folgen
1&gt;e:\sources\übungsprogramme\von büchern und tutorials\uebunghandleklasse\uebunghandleklasse\sales_item.cpp(11): error C2039: 'clone': Ist kein Element von 'Item_base'
1&gt;          e:\sources\übungsprogramme\von büchern und tutorials\uebunghandleklasse\uebunghandleklasse\item_base.h(8): Siehe Deklaration von 'Item_base'
1&gt;e:\sources\übungsprogramme\von büchern und tutorials\uebunghandleklasse\uebunghandleklasse\sales_item.cpp(12): fatal error C1903: Weiterverarbeitung nach vorherigem Fehler nicht möglich; Kompilierung wird abgebrochen.
1&gt;e:\sources\übungsprogramme\von büchern und tutorials\uebunghandleklasse\uebunghandleklasse\item_base.h(10): error C2144: Syntaxfehler: 'int' sollte auf ';' folgen
</code></pre>
<p>Hoff ihr könnt mir vielleicht helfen.</p>
<p>Vielen Dank schonmal</p>
<p>Lg freeG</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/270786/fehler-int-sollte-auf-folgen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 23:55:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/270786.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 18 Jul 2010 11:49:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fehler: &#x27;int&#x27; sollte auf &#x27;;&#x27; folgen on Sun, 18 Jul 2010 11:49:42 GMT]]></title><description><![CDATA[<p>Hey Leute,<br />
habe folgenden Code:</p>
<p>Item_Base.h</p>
<pre><code class="language-cpp">#ifndef ITEM_BASE_H
#define ITEM_BASE_H

#include &lt;string&gt;

class Item_base
{
	public:
		Item_base( const std::string&amp;, double );
		virtual ~Item_base() { }
		Item_base&amp; operator=( const Item_base&amp; );
		Item_base( const Item_base&amp; );
		std::string book() const { return isbn; }
		virtual double net_price( std::size_t cnt ) const { return cnt * price; }
		virtual Item_base* clone() const;

	private:
		std::string isbn;

	protected:
		double price;
};

#endif
</code></pre>
<p>Sales_item.cpp</p>
<pre><code class="language-cpp">#include &quot;Sales_item.h&quot;

using namespace std;

Sales_item::Sales_item():
	p( 0 ), use( new std::size_t( 1 ) )
	{
	}

Sales_item::Sales_item( const Item_base&amp; orig ):
	p( orig.clone() ), use( new std::size_t( 1 ) )
	{
	}

Sales_item::Sales_item( const Sales_item&amp; orig ):
	p( orig.p ), use( orig.use )
	{
		++*use;
	}

Sales_item::~Sales_item()
{
	decr_use();
}

Sales_item&amp; Sales_item::operator=( const Sales_item&amp; rhs )
{
	++*rhs.use;
	decr_use();
	p = rhs.p;
	use = rhs.use;
	return *this;
}

const Item_base* Sales_item::operator-&gt;() const
{
	if( p )
		return p;
	else
		throw std::logic_error( &quot;unbound Sales_item&quot; );
}

const Item_base&amp; Sales_item::operator*() const
{
	if( p )
		return *p;
	else
		throw std::logic_error( &quot;unbound Sales_item&quot; );
}

void Sales_item::decr_use()
{
	if( --*use == 0 )
	{
		delete p;
		delete use;
	}
}
</code></pre>
<p>Ich erhalte folgende Fehler die ich leider ganz und gar nicht verstehe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> :</p>
<pre><code>e:\sources\übungsprogramme\von büchern und tutorials\uebunghandleklasse\uebunghandleklasse\item_base.h(10): error C2144: Syntaxfehler: 'int' sollte auf ';' folgen
1&gt;e:\sources\übungsprogramme\von büchern und tutorials\uebunghandleklasse\uebunghandleklasse\item_base.h(10): error C2144: Syntaxfehler: 'int' sollte auf ';' folgen
1&gt;e:\sources\übungsprogramme\von büchern und tutorials\uebunghandleklasse\uebunghandleklasse\sales_item.cpp(11): error C2039: 'clone': Ist kein Element von 'Item_base'
1&gt;          e:\sources\übungsprogramme\von büchern und tutorials\uebunghandleklasse\uebunghandleklasse\item_base.h(8): Siehe Deklaration von 'Item_base'
1&gt;e:\sources\übungsprogramme\von büchern und tutorials\uebunghandleklasse\uebunghandleklasse\sales_item.cpp(12): fatal error C1903: Weiterverarbeitung nach vorherigem Fehler nicht möglich; Kompilierung wird abgebrochen.
1&gt;e:\sources\übungsprogramme\von büchern und tutorials\uebunghandleklasse\uebunghandleklasse\item_base.h(10): error C2144: Syntaxfehler: 'int' sollte auf ';' folgen
</code></pre>
<p>Hoff ihr könnt mir vielleicht helfen.</p>
<p>Vielen Dank schonmal</p>
<p>Lg freeG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1928033</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1928033</guid><dc:creator><![CDATA[fr33g]]></dc:creator><pubDate>Sun, 18 Jul 2010 11:49:42 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler: &#x27;int&#x27; sollte auf &#x27;;&#x27; folgen on Sun, 18 Jul 2010 12:03:16 GMT]]></title><description><![CDATA[<p>Die beiden Codestücke passen nicht wirklich zueinander.<br />
Zeig doch mal ein komplettes Beispiel. Den Fehler kann ich so nicht nachvollziehen. Scheint irgendeine fehlende Typangabe zu sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1928041</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1928041</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 18 Jul 2010 12:03:16 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler: &#x27;int&#x27; sollte auf &#x27;;&#x27; folgen on Sun, 18 Jul 2010 14:04:58 GMT]]></title><description><![CDATA[<p>okidoki, hier der ganze Code.</p>
<p>Item_Base.h</p>
<pre><code class="language-cpp">#ifndef ITEM_BASE_H
#define ITEM_BASE_H

#include &lt;string&gt;

class Item_base
{
	public:
		Item_base( const std::string&amp; book = &quot; &quot;, double sales_price = 0.0 );
		virtual ~Item_base() { }
		Item_base&amp; operator=( const Item_base&amp; );
		Item_base( const Item_base&amp; );
		std::string book() const { return isbn; }
		virtual double net_price( std::size_t cnt ) const { return cnt * price; }
		virtual Item_base* clone() const;

	private:
		std::string isbn;

	protected:
		double price;
};

#endif
</code></pre>
<p>Item_Base.cpp</p>
<pre><code class="language-cpp">#include &quot;Item_Base.h&quot;

using namespace std;

Item_base::Item_base( const string&amp; book, double sales_price ):
	isbn( book ), price( sales_price )
	{
	}

Item_base::Item_base( const Item_base&amp; orig ):
	isbn( orig.isbn ), price( orig.price )
	{
	}

Item_base&amp; Item_base::operator=( const Item_base&amp; rhs )
{
	if( this != &amp;rhs )
	{
		isbn = rhs.isbn;
		price = rhs.price;
		return *this;
	}
	else
		return *this;
}

Item_base* Item_base::clone() const
{
	return new Item_base( *this );
}
</code></pre>
<p>Bulk_item.h</p>
<pre><code class="language-cpp">#ifndef BULK_ITEM_H
#define BULK_ITEM_H

#include &quot;Item_Base.h&quot;

class Bulk_item : public Item_base
{
	public:
		Bulk_item( const std::string&amp; book = &quot; &quot; , double sales_price = 0.0, std::size_t quantity = 0, double disc = 0.0 );
		virtual ~Bulk_item() { }
		Bulk_item( const Bulk_item&amp; );
		Bulk_item&amp; operator=( const Bulk_item&amp; );
		double net_price( std::size_t cnt ) const;
		Bulk_item* clone() const;

	private:
		std::size_t min_qty;
		double discount;
};

#endif
</code></pre>
<p>Bulk_item.cpp</p>
<pre><code class="language-cpp">#include &quot;Bulk_item.h&quot;

using namespace std;

Bulk_item::Bulk_item( const std::string&amp; book, double sales_price, std::size_t quantity, double disc ):
	Item_base( book, sales_price ), min_qty( quantity ), discount( disc )
	{
	}

Bulk_item::Bulk_item( const Bulk_item&amp; orig ):
	Item_base( orig ), min_qty( orig.min_qty ), discount( orig.discount )
	{
	}

Bulk_item&amp; Bulk_item::operator=( const Bulk_item&amp; rhs )
{
	if( this != &amp;rhs )
	{
		Item_base::operator=( rhs );
		min_qty = rhs.min_qty;
		discount = rhs.discount;
		return *this;
	}
	else
		return *this;
}

double Bulk_item::net_price( size_t cnt ) const
{
	if( cnt &gt;=min_qty )
		return cnt * ( 1 - discount) * price;
	else
		return cnt* price;
}

Bulk_item* Bulk_item::clone() const
{
	return new Bulk_item( *this );
}
</code></pre>
<p>Sales_item.h</p>
<pre><code class="language-cpp">#ifndef SALES_ITEM_H
#define SALES_ITEM_H

#include &quot;Item_Base.h&quot;

class Sales_item
{
	public:
		Sales_item();
		Sales_item( const Item_base&amp; );
		Sales_item( const Sales_item&amp; );
		~Sales_item();
		Sales_item&amp; operator=( const Sales_item&amp; );
		const Item_base* operator-&gt;() const;
		const Item_base&amp; operator*() const;

	private:
		Item_base* p;
		std::size_t* use;
		void decr_use();
};

#endif
</code></pre>
<p>Sales_item.cpp</p>
<pre><code class="language-cpp">#include &quot;Sales_item.h&quot;

using namespace std;

Sales_item::Sales_item():
	p( 0 ), use( new std::size_t( 1 ) )
	{
	}

Sales_item::Sales_item( const Item_base&amp; orig ):
	p( orig.clone() ), use( new std::size_t( 1 ) )
	{
	}

Sales_item::Sales_item( const Sales_item&amp; orig ):
	p( orig.p ), use( orig.use )
	{
		++*use;
	}

Sales_item::~Sales_item()
{
	decr_use();
}

Sales_item&amp; Sales_item::operator=( const Sales_item&amp; rhs )
{
	++*rhs.use;
	decr_use();
	p = rhs.p;
	use = rhs.use;
	return *this;
}

const Item_base* Sales_item::operator-&gt;() const
{
	if( p )
		return p;
	else
		throw std::logic_error( &quot;unbound Sales_item&quot; );
}

const Item_base&amp; Sales_item::operator*() const
{
	if( p )
		return *p;
	else
		throw std::logic_error( &quot;unbound Sales_item&quot; );
}

void Sales_item::decr_use()
{
	if( --*use == 0 )
	{
		delete p;
		delete use;
	}
}
</code></pre>
<p>main.cpp</p>
<pre><code class="language-cpp">#include &quot;Item_Base.h&quot;
#include &quot;Bulk_item.h&quot;
#include &quot;Sales_item.h&quot;

int main()
{
Item_base a;
Bulk_item b;
}
</code></pre>
<p>So, hier das ganze Beispiel und hier nochmal der Fehler, vielleicht könnt ihr mir jetzt helfen.</p>
<p>Was auch komisch ist, dass er sagt es gibt clone nicht bei Item_base.</p>
<p>Fehler:</p>
<pre><code>[e]lambda[/e]&gt;e:\sources\übungsprogramme\von büchern und tutorials\uebunghandleklasse\uebunghandleklasse\item_base.h(10): error C2144: Syntaxfehler: 'int' sollte auf ';' folgen
1&gt;c1xx : fatal error C1903: Weiterverarbeitung nach vorherigem Fehler nicht möglich; Kompilierung wird abgebrochen.
e:\sources\übungsprogramme\von büchern und tutorials\uebunghandleklasse\uebunghandleklasse\item_base.h(10): error C2144: Syntaxfehler: 'int' sollte auf ';' folgen
1&gt;e:\sources\übungsprogramme\von büchern und tutorials\uebunghandleklasse\uebunghandleklasse\sales_item.cpp(11): error C2039: 'clone': Ist kein Element von 'Item_base'
1&gt;          e:\sources\übungsprogramme\von büchern und tutorials\uebunghandleklasse\uebunghandleklasse\item_base.h(8): Siehe Deklaration von 'Item_base'
1&gt;e:\sources\übungsprogramme\von büchern und tutorials\uebunghandleklasse\uebunghandleklasse\sales_item.cpp(12): fatal error C1903: Weiterverarbeitung nach vorherigem Fehler nicht möglich; Kompilierung wird abgebrochen.
e:\sources\übungsprogramme\von büchern und tutorials\uebunghandleklasse\uebunghandleklasse\item_base.h(10): error C2144: Syntaxfehler: 'int' sollte auf ';' folgen
</code></pre>
<p>Vielen Dank schonmal</p>
<p>Gruß freeG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1928092</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1928092</guid><dc:creator><![CDATA[fr33g]]></dc:creator><pubDate>Sun, 18 Jul 2010 14:04:58 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler: &#x27;int&#x27; sollte auf &#x27;;&#x27; folgen on Sun, 18 Jul 2010 14:44:16 GMT]]></title><description><![CDATA[<p>Ich habe mal alles in ein File gepackt und es kompiliert bei mir ohne Probleme. Kompilierst du auch sicher das richtige Projekt? Stimmen die Namen der Files?</p>
<p>Wenn nicht, dann reduzier das Beispiel mal so weit es geht von unwichtigen Sachen. Aber so, dass der Fehler noch bleibt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1928117</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1928117</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 18 Jul 2010 14:44:16 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler: &#x27;int&#x27; sollte auf &#x27;;&#x27; folgen on Sun, 18 Jul 2010 15:52:16 GMT]]></title><description><![CDATA[<p>Mhh war wohl irgendein Fehler in meinem Projekt selber, hab jetzt das ganze nochmal in ein neues Projekt gemacht und es geht.</p>
<p>Also vielen Dank trotzdem</p>
<p>Gruß freeG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1928163</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1928163</guid><dc:creator><![CDATA[fr33g]]></dc:creator><pubDate>Sun, 18 Jul 2010 15:52:16 GMT</pubDate></item></channel></rss>