<?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[Probleme beim compilieren!!!]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich bin im Moment mit einem größeren Programm beschäftigt un habe da ein ziemlich nerviges Problem.</p>
<p>Ich habe eine Klasse &quot;AttendantGroup&quot;</p>
<pre><code class="language-cpp">/****************************************************************************/
// Include-Gurads
#ifndef ATTENDANTGROUP_H
#define ATTENDANTGROUP_H
/****************************************************************************/
// Headerfiles
#include &lt;string&gt;
#include &lt;iostream&gt;
#include &lt;assert.h&gt;
#include &quot;attendantshape.h&quot;
using namespace std;
/****************************************************************************/
// Preprocessor

/****************************************************************************/
// Global Constants:

/****************************************************************************/
// Class-Definition
class AttendantGroup : public AttendantShape {

	private:
	double points_[5];
	double totalPoints_;

	public:
	AttendantGroup(	string lastname = &quot;empty&quot;, string firstname = &quot;empty&quot;,\
			int number = 0);

	void setPoints(const double points[]);
	const double* getPoints() const;
	double getTotalPoints() const;

	virtual void disqualify();
	virtual void undisqualify();
	virtual bool isDisqualified();

	bool operator&lt;=(const AttendantGroup&amp;);
	bool operator&gt;=(const AttendantGroup&amp;);
	bool operator==(const AttendantGroup&amp;);

	private:
	void sort();
	AttendantGroup();
};
/****************************************************************************/
// Global Functions
ostream&amp; operator&lt;&lt;(ostream&amp; o, const AttendantGroup&amp; a);
istream&amp; operator&gt;&gt;(istream&amp; i, AttendantGroup&amp; a);
bool operator&lt;(const AttendantGroup&amp; l, const AttendantGroup&amp; r);
bool operator&gt;(const AttendantGroup&amp; l, const AttendantGroup&amp; r);
/****************************************************************************/
// Inline-Functions
#ifndef NO_INLINE
	#include &quot;attendantgroup.inl&quot;
#endif
/****************************************************************************/
#endif
/****************************************************************************
</code></pre>
<p>die von &quot;AttendantShap erbt&quot;</p>
<pre><code class="language-cpp">/****************************************************************************/
// Include-Gurads
#ifndef ATTENDANTSHAPE_H
#define ATTENDANTSHAPE_H
/****************************************************************************/
// Headerfiles
#include &lt;string&gt;
using namespace std;
/****************************************************************************/
// Preprocessor

/****************************************************************************/
// Global Constants:

/****************************************************************************/
// Class-Definition
class AttendantShape{

	private:
	string lastname_;
	string firstname_;
	int number_;

	public:
	AttendantShape(	string lastname = &quot;empty&quot;, string firstname = &quot;empty&quot;,\
			int number = 0);

	string getLastname() const;
	string getFirstname() const;
	int getNumber() const;

	void setLastname(string&amp;);
	void setFirstname(string&amp;);
	void setNumber(int&amp;);

	virtual void disqualify() = 0;
	virtual void undisqualify() = 0;
	virtual bool isDisqualified() = 0;
};
/****************************************************************************/
// Global Functions

/****************************************************************************/
// Inline-Functions
#ifndef NO_INLINE
	#include &quot;attendantshape.inl&quot;
#endif
/****************************************************************************/
#endif
/****************************************************************************
</code></pre>
<p>einen Sourcefile um das ganze zu testen</p>
<pre><code class="language-cpp">/****************************************************************************/
// Headerfiles
#include &lt;iostream&gt;
#include &lt;string&gt;
#include &quot;attendantgroup.h&quot;
using namespace std;
/****************************************************************************/
int main(){

	AttendantGroup a1();
	AttendantGroup a2();
	AttendantGroup a3();
	AttendantGroup a4();
	AttendantGroup a5();
	AttendantGroup a6();

	return 0;
}
/****************************************************************************
*	Notes:	
****************************************************************************/
</code></pre>
<p>und natürlich die ganzen dazugehörenden cpp- und inl-files.</p>
<p>So wenn ich das ganze jetzt mit</p>
<pre><code>g++ -o test attendantgroup.cpp attendant_test.cpp
</code></pre>
<p>übersetzen will bekomm ich immer einen Linker-Fehler:</p>
<pre><code>attendantgroup.o: In function `operator&lt;&lt;(std::basic_ostream&lt;char, std::char_traits&lt;char&gt; &gt;&amp;, AttendantGroup const&amp;)':
attendantgroup.cpp:(.text+0xfc): undefined reference to `AttendantGroup::getPoints() const'
attendantgroup.cpp:(.text+0x10a): undefined reference to `AttendantGroup::getTotalPoints() const'
attendantgroup.cpp:(.text+0x14c): undefined reference to `AttendantShape::getNumber() const'
attendantgroup.cpp:(.text+0x161): undefined reference to `AttendantShape::getFirstname() const'
attendantgroup.cpp:(.text+0x176): undefined reference to `AttendantShape::getLastname() const'
attendantgroup.o: In function `operator&gt;&gt;(std::basic_istream&lt;char, std::char_traits&lt;char&gt; &gt;&amp;, AttendantGroup&amp;)':
attendantgroup.cpp:(.text+0x425): undefined reference to `AttendantShape::setLastname(std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;&amp;)'
attendantgroup.cpp:(.text+0x437): undefined reference to `AttendantShape::setFirstname(std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;&amp;)'
attendantgroup.cpp:(.text+0x449): undefined reference to `AttendantShape::setNumber(int&amp;)'
attendantgroup.o: In function `AttendantGroup::AttendantGroup(std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;, int)':
attendantgroup.cpp:(.text+0x545): undefined reference to `AttendantShape::AttendantShape(std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;, int)'
attendantgroup.cpp:(.text+0x578): undefined reference to `vtable for AttendantGroup'
attendantgroup.o: In function `AttendantGroup::AttendantGroup(std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;, int)':
attendantgroup.cpp:(.text+0x61d): undefined reference to `AttendantShape::AttendantShape(std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;, int)'
attendantgroup.cpp:(.text+0x650): undefined reference to `vtable for AttendantGroup'
collect2: ld returned 1 exit status
make: *** [testgroup] Error 1
</code></pre>
<p>Hier den cpp-file um den es geht:</p>
<pre><code class="language-cpp">/****************************************************************************/
// Headerfiles
#include &quot;attendantgroup.h&quot;
/****************************************************************************/
// Inline-Funktionen
#ifdef NO_INLINE
#define inline
	#include &quot;attendantgroup.inl&quot;
#endif
/****************************************************************************/
// Function-Implementation
/****************************************************************************/
// Function:	
// Task:	
// Parameter:	
// Return:	
AttendantGroup::AttendantGroup(string lastname, string firstname, int number): \
		AttendantShape(lastname, firstname, number),\
		totalPoints_(0){

	int loop;

	for(loop = 0; loop &lt; 5; ++loop){
		points_[loop] = 0.0;
	}

	totalPoints_ = 0;
}
/****************************************************************************/
// Function:	
// Task:	
// Parameter:	
// Return:	
void AttendantGroup::setPoints(const double points[]){

	int loop;

	assert((sizeof(points) / sizeof(double)) == 5);

	if(totalPoints_ != -1){
		for(loop = 0; loop &lt; 5; ++loop){
			points_[loop] = points[loop];
		}
	}
}
/****************************************************************************/
// Function:	
// Task:	
// Parameter:	
// Return:	
void AttendantGroup::sort(){

	int loop;
	int loop2;

	double tmp;

	for(loop = 1; loop &lt; 5; ++loop){
		for(loop2 = 0; loop2 &lt; loop; ++loop2){
			if(points_[loop] &lt; points_[loop2]){
				tmp		= points_[loop];
				points_[loop]	= points_[loop2];
				points_[loop2]	= tmp;
			}
		}
	}
}
/****************************************************************************/
// Function:	
// Task:	
// Parameter:	
// Return:	
ostream&amp; operator&lt;&lt;(ostream&amp; o, const AttendantGroup&amp; a){

	const double *points	= a.getPoints();
	double totalPoints	= a.getTotalPoints();

	o 	&lt;&lt; a.getLastname() &lt;&lt; &quot; &quot; &lt;&lt; a.getFirstname() \
		&lt;&lt; &quot; Startnummer: &quot; &lt;&lt; a.getNumber() &lt;&lt; &quot; &quot; \
		&lt;&lt; points[0] &lt;&lt; &quot; &quot; &lt;&lt; points[1] &lt;&lt; &quot; &quot; \
		&lt;&lt; points[2] &lt;&lt; &quot; &quot; &lt;&lt; points[3] &lt;&lt; &quot; &quot; \
		&lt;&lt; points[4] &lt;&lt; &quot; &quot; &lt;&lt; totalPoints;

	return o;
}
/****************************************************************************/
// Function:	
// Task:	
// Parameter:	
// Return:	
istream&amp; operator&gt;&gt;(istream&amp; i, AttendantGroup&amp; a){

	string tmp;
	string lastname;
	string firstname;

	int number;
	int totalPoints;

	double points[5];

	i	&gt;&gt; lastname &gt;&gt; ws &gt;&gt; firstname &gt;&gt; ws &gt;&gt; tmp &gt;&gt; number &gt;&gt; ws\
		&gt;&gt; points[0] &gt;&gt; points[1] &gt;&gt; points[2]
		&gt;&gt; points[3] &gt;&gt; points[4] &gt;&gt; totalPoints;

	a.setLastname(lastname);
	a.setFirstname(firstname);
	a.setNumber(number);
	a.setPoints(points);

	if(totalPoints == -1){
		a.disqualify();
	}

	return i;
}
/****************************************************************************
</code></pre>
<p>Jetzt sitz ich hier seit 2 Stunden und finde den Fehler nicht. Kann mir einer sagen woran das liegt. Ist wahrscheinlich nur ein dummer Fehler, aber ich seh ihn einfach nicht.</p>
<p>Danke schonmal für die Mühe.</p>
<p>PS: Die .inl-files haben nur den Zweck die .h übersichlicher zu machen und trotzdem das Inlinen von kleinen Methoden zu nutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/237520/probleme-beim-compilieren</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 10:14:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/237520.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 30 Mar 2009 09:31:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme beim compilieren!!! on Mon, 30 Mar 2009 09:31:38 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich bin im Moment mit einem größeren Programm beschäftigt un habe da ein ziemlich nerviges Problem.</p>
<p>Ich habe eine Klasse &quot;AttendantGroup&quot;</p>
<pre><code class="language-cpp">/****************************************************************************/
// Include-Gurads
#ifndef ATTENDANTGROUP_H
#define ATTENDANTGROUP_H
/****************************************************************************/
// Headerfiles
#include &lt;string&gt;
#include &lt;iostream&gt;
#include &lt;assert.h&gt;
#include &quot;attendantshape.h&quot;
using namespace std;
/****************************************************************************/
// Preprocessor

/****************************************************************************/
// Global Constants:

/****************************************************************************/
// Class-Definition
class AttendantGroup : public AttendantShape {

	private:
	double points_[5];
	double totalPoints_;

	public:
	AttendantGroup(	string lastname = &quot;empty&quot;, string firstname = &quot;empty&quot;,\
			int number = 0);

	void setPoints(const double points[]);
	const double* getPoints() const;
	double getTotalPoints() const;

	virtual void disqualify();
	virtual void undisqualify();
	virtual bool isDisqualified();

	bool operator&lt;=(const AttendantGroup&amp;);
	bool operator&gt;=(const AttendantGroup&amp;);
	bool operator==(const AttendantGroup&amp;);

	private:
	void sort();
	AttendantGroup();
};
/****************************************************************************/
// Global Functions
ostream&amp; operator&lt;&lt;(ostream&amp; o, const AttendantGroup&amp; a);
istream&amp; operator&gt;&gt;(istream&amp; i, AttendantGroup&amp; a);
bool operator&lt;(const AttendantGroup&amp; l, const AttendantGroup&amp; r);
bool operator&gt;(const AttendantGroup&amp; l, const AttendantGroup&amp; r);
/****************************************************************************/
// Inline-Functions
#ifndef NO_INLINE
	#include &quot;attendantgroup.inl&quot;
#endif
/****************************************************************************/
#endif
/****************************************************************************
</code></pre>
<p>die von &quot;AttendantShap erbt&quot;</p>
<pre><code class="language-cpp">/****************************************************************************/
// Include-Gurads
#ifndef ATTENDANTSHAPE_H
#define ATTENDANTSHAPE_H
/****************************************************************************/
// Headerfiles
#include &lt;string&gt;
using namespace std;
/****************************************************************************/
// Preprocessor

/****************************************************************************/
// Global Constants:

/****************************************************************************/
// Class-Definition
class AttendantShape{

	private:
	string lastname_;
	string firstname_;
	int number_;

	public:
	AttendantShape(	string lastname = &quot;empty&quot;, string firstname = &quot;empty&quot;,\
			int number = 0);

	string getLastname() const;
	string getFirstname() const;
	int getNumber() const;

	void setLastname(string&amp;);
	void setFirstname(string&amp;);
	void setNumber(int&amp;);

	virtual void disqualify() = 0;
	virtual void undisqualify() = 0;
	virtual bool isDisqualified() = 0;
};
/****************************************************************************/
// Global Functions

/****************************************************************************/
// Inline-Functions
#ifndef NO_INLINE
	#include &quot;attendantshape.inl&quot;
#endif
/****************************************************************************/
#endif
/****************************************************************************
</code></pre>
<p>einen Sourcefile um das ganze zu testen</p>
<pre><code class="language-cpp">/****************************************************************************/
// Headerfiles
#include &lt;iostream&gt;
#include &lt;string&gt;
#include &quot;attendantgroup.h&quot;
using namespace std;
/****************************************************************************/
int main(){

	AttendantGroup a1();
	AttendantGroup a2();
	AttendantGroup a3();
	AttendantGroup a4();
	AttendantGroup a5();
	AttendantGroup a6();

	return 0;
}
/****************************************************************************
*	Notes:	
****************************************************************************/
</code></pre>
<p>und natürlich die ganzen dazugehörenden cpp- und inl-files.</p>
<p>So wenn ich das ganze jetzt mit</p>
<pre><code>g++ -o test attendantgroup.cpp attendant_test.cpp
</code></pre>
<p>übersetzen will bekomm ich immer einen Linker-Fehler:</p>
<pre><code>attendantgroup.o: In function `operator&lt;&lt;(std::basic_ostream&lt;char, std::char_traits&lt;char&gt; &gt;&amp;, AttendantGroup const&amp;)':
attendantgroup.cpp:(.text+0xfc): undefined reference to `AttendantGroup::getPoints() const'
attendantgroup.cpp:(.text+0x10a): undefined reference to `AttendantGroup::getTotalPoints() const'
attendantgroup.cpp:(.text+0x14c): undefined reference to `AttendantShape::getNumber() const'
attendantgroup.cpp:(.text+0x161): undefined reference to `AttendantShape::getFirstname() const'
attendantgroup.cpp:(.text+0x176): undefined reference to `AttendantShape::getLastname() const'
attendantgroup.o: In function `operator&gt;&gt;(std::basic_istream&lt;char, std::char_traits&lt;char&gt; &gt;&amp;, AttendantGroup&amp;)':
attendantgroup.cpp:(.text+0x425): undefined reference to `AttendantShape::setLastname(std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;&amp;)'
attendantgroup.cpp:(.text+0x437): undefined reference to `AttendantShape::setFirstname(std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;&amp;)'
attendantgroup.cpp:(.text+0x449): undefined reference to `AttendantShape::setNumber(int&amp;)'
attendantgroup.o: In function `AttendantGroup::AttendantGroup(std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;, int)':
attendantgroup.cpp:(.text+0x545): undefined reference to `AttendantShape::AttendantShape(std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;, int)'
attendantgroup.cpp:(.text+0x578): undefined reference to `vtable for AttendantGroup'
attendantgroup.o: In function `AttendantGroup::AttendantGroup(std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;, int)':
attendantgroup.cpp:(.text+0x61d): undefined reference to `AttendantShape::AttendantShape(std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;, int)'
attendantgroup.cpp:(.text+0x650): undefined reference to `vtable for AttendantGroup'
collect2: ld returned 1 exit status
make: *** [testgroup] Error 1
</code></pre>
<p>Hier den cpp-file um den es geht:</p>
<pre><code class="language-cpp">/****************************************************************************/
// Headerfiles
#include &quot;attendantgroup.h&quot;
/****************************************************************************/
// Inline-Funktionen
#ifdef NO_INLINE
#define inline
	#include &quot;attendantgroup.inl&quot;
#endif
/****************************************************************************/
// Function-Implementation
/****************************************************************************/
// Function:	
// Task:	
// Parameter:	
// Return:	
AttendantGroup::AttendantGroup(string lastname, string firstname, int number): \
		AttendantShape(lastname, firstname, number),\
		totalPoints_(0){

	int loop;

	for(loop = 0; loop &lt; 5; ++loop){
		points_[loop] = 0.0;
	}

	totalPoints_ = 0;
}
/****************************************************************************/
// Function:	
// Task:	
// Parameter:	
// Return:	
void AttendantGroup::setPoints(const double points[]){

	int loop;

	assert((sizeof(points) / sizeof(double)) == 5);

	if(totalPoints_ != -1){
		for(loop = 0; loop &lt; 5; ++loop){
			points_[loop] = points[loop];
		}
	}
}
/****************************************************************************/
// Function:	
// Task:	
// Parameter:	
// Return:	
void AttendantGroup::sort(){

	int loop;
	int loop2;

	double tmp;

	for(loop = 1; loop &lt; 5; ++loop){
		for(loop2 = 0; loop2 &lt; loop; ++loop2){
			if(points_[loop] &lt; points_[loop2]){
				tmp		= points_[loop];
				points_[loop]	= points_[loop2];
				points_[loop2]	= tmp;
			}
		}
	}
}
/****************************************************************************/
// Function:	
// Task:	
// Parameter:	
// Return:	
ostream&amp; operator&lt;&lt;(ostream&amp; o, const AttendantGroup&amp; a){

	const double *points	= a.getPoints();
	double totalPoints	= a.getTotalPoints();

	o 	&lt;&lt; a.getLastname() &lt;&lt; &quot; &quot; &lt;&lt; a.getFirstname() \
		&lt;&lt; &quot; Startnummer: &quot; &lt;&lt; a.getNumber() &lt;&lt; &quot; &quot; \
		&lt;&lt; points[0] &lt;&lt; &quot; &quot; &lt;&lt; points[1] &lt;&lt; &quot; &quot; \
		&lt;&lt; points[2] &lt;&lt; &quot; &quot; &lt;&lt; points[3] &lt;&lt; &quot; &quot; \
		&lt;&lt; points[4] &lt;&lt; &quot; &quot; &lt;&lt; totalPoints;

	return o;
}
/****************************************************************************/
// Function:	
// Task:	
// Parameter:	
// Return:	
istream&amp; operator&gt;&gt;(istream&amp; i, AttendantGroup&amp; a){

	string tmp;
	string lastname;
	string firstname;

	int number;
	int totalPoints;

	double points[5];

	i	&gt;&gt; lastname &gt;&gt; ws &gt;&gt; firstname &gt;&gt; ws &gt;&gt; tmp &gt;&gt; number &gt;&gt; ws\
		&gt;&gt; points[0] &gt;&gt; points[1] &gt;&gt; points[2]
		&gt;&gt; points[3] &gt;&gt; points[4] &gt;&gt; totalPoints;

	a.setLastname(lastname);
	a.setFirstname(firstname);
	a.setNumber(number);
	a.setPoints(points);

	if(totalPoints == -1){
		a.disqualify();
	}

	return i;
}
/****************************************************************************
</code></pre>
<p>Jetzt sitz ich hier seit 2 Stunden und finde den Fehler nicht. Kann mir einer sagen woran das liegt. Ist wahrscheinlich nur ein dummer Fehler, aber ich seh ihn einfach nicht.</p>
<p>Danke schonmal für die Mühe.</p>
<p>PS: Die .inl-files haben nur den Zweck die .h übersichlicher zu machen und trotzdem das Inlinen von kleinen Methoden zu nutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1688092</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1688092</guid><dc:creator><![CDATA[cpt.hawk]]></dc:creator><pubDate>Mon, 30 Mar 2009 09:31:38 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim compilieren!!! on Mon, 30 Mar 2009 09:52:26 GMT]]></title><description><![CDATA[<p>Irgendwas machst du bei deinem ganzen inline-gefummel falsch.<br />
Die Implementierungen zu den entsprechenden Methoden können nicht gefunden werden.</p>
<p>Wieso machst du das ganze Gefummel überhaupt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1688104</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1688104</guid><dc:creator><![CDATA[The-Kenny]]></dc:creator><pubDate>Mon, 30 Mar 2009 09:52:26 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim compilieren!!! on Mon, 30 Mar 2009 10:51:15 GMT]]></title><description><![CDATA[<p>Also ist eigentlich ganz einfach. Wenn du kleine Methoden (so kleine Einzeiler) im Headerfile implementierst, kann der Compiler die &quot;inlinen&quot;.<br />
Da ich das aber nicht so gerne habe, wenn Methoden im Headerfile implemtiert werden, deklariere ich die im Headerfile und implementiere die in einem .inl-file, den ich in den Headerfile einbinde.<br />
So ist das übersichtlicher und der inline-Vorteil geht mir nicht verloren.<br />
Klappt sonst immer. Nur in diesem Fall funktioniert da was nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1688134</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1688134</guid><dc:creator><![CDATA[cpt.hawk]]></dc:creator><pubDate>Mon, 30 Mar 2009 10:51:15 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim compilieren!!! on Mon, 30 Mar 2009 10:59:10 GMT]]></title><description><![CDATA[<p>Entweder ist NO_INLINE gesetzt oder in den .inl-Files ist etwas falsch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1688137</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1688137</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Mon, 30 Mar 2009 10:59:10 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim compilieren!!! on Mon, 30 Mar 2009 11:12:34 GMT]]></title><description><![CDATA[<p>Wenn ich NO_INLINE setze werden die .inl in die .cpp mit eigebunden (für Debug). Das erzeugt übrigens den selben Fehler. Ich schau mir die .inl aber noch mal an.</p>
<p>Und poste sie hier auch mal:</p>
<pre><code class="language-cpp">/****************************************************************************/
// Include-Gurads
#ifndef ATTENDANTSHAPE_H
#define ATTENDANTSHAPE_H
/****************************************************************************/
// Function-Implementation
/****************************************************************************/
// Function:	
// Task:	
// Parameter:	
// Return:	
AttendantShape::AttendantShape(string lastname, string firstname, int number) \
		:lastname_(lastname), firstname_(firstname), \
		number_(number){}
/****************************************************************************/
// Function:	
// Task:	
// Parameter:	
// Return:	
inline AttendantShape::string getLastname() const{
	return lastname_;
}
/****************************************************************************/
// Function:	
// Task:	
// Parameter:	
// Return:	
inline AttendantShape::string getFirstname() const{
	return firstname_;
}
/****************************************************************************/
// Function:	
// Task:	
// Parameter:	
// Return:	
inline AttendantShape::int getNumber() const{
	return number_;
}
/****************************************************************************/
// Function:	
// Task:	
// Parameter:	
// Return:	
inline AttendantShape::void setLastname(string&amp; lastname){
	lastname_ = lastname;
}
/****************************************************************************/
// Function:	
// Task:	
// Parameter:	
// Return:	
inline AttendantShape::void setFirstname(string&amp; firstname){
	firstname_ = firstname;
}
/****************************************************************************/
// Function:	
// Task:	
// Parameter:	
// Return:	
inline AttendantShape::void setNumber(int&amp; number){
	number_ = number;
}
/****************************************************************************/
#endif
/****************************************************************************
</code></pre>
<pre><code class="language-cpp">/****************************************************************************/
// Include-Gurads
#ifndef ATTENDANTGROUP_H
#define ATTENDANTGROUP_H
/****************************************************************************/
// Function-Implementation
/****************************************************************************/
// Function:	
// Task:	
// Parameter:	
// Return:	
inline double AttendantGroup::getTotalPoints() const{
	return totalPoints;
}
/****************************************************************************/
// Function:	
// Task:	
// Parameter:	
// Return:	
inline const double* AttendantGroup::getPoints() const{
	return points_;
}
/****************************************************************************/
// Function:	
// Task:	
// Parameter:	
// Return:	
inline virtual void AttendantGroup::disqualify(){
	totalPoints = -1;
}
/****************************************************************************/
// Function:	
// Task:	
// Parameter:	
// Return:	
inline virtual void AttendantGroup::undisqualify(){
	totalPoints = points_[1] + points_[2] + points_[3]:
}
/****************************************************************************/
// Function:	
// Task:	
// Parameter:	
// Return:	
inline virtual bool AttendantGroup::isDisqualified(){
	return (totalPoints == -1);
}
/****************************************************************************/
// Function:	
// Task:	
// Parameter:	
// Return:	
inline bool AttendantGroup::operator&lt;=(const AttendantGroup&amp; a){
	return (totalPoints &lt;= a.totalPoints);
}
/****************************************************************************/
// Function:	
// Task:	
// Parameter:	
// Return:	
inline bool AttendantGroup::operator&gt;=(const AttendantGroup&amp; a){
	return (totalPoints &gt;= a.totalPoints);
}
/****************************************************************************/
// Function:	
// Task:	
// Parameter:	
// Return:	
inline bool AttendantGroup::operator==(const AttendantGroup&amp; a){
	return (totalPoints == a.totalPoints);
}
/****************************************************************************/
// Function:	
// Task:	
// Parameter:	
// Return:	
inline bool operator&lt;(const AttendantGroup&amp; l, const AttendantGroup&amp; r){
	return !(l &gt;= r);
}
/****************************************************************************/
// Function:	
// Task:	
// Parameter:	
// Return:	
inline bool operator&gt;(const AttendantGroup&amp; l, const AttendantGroup&amp; r){
	return !(l &lt;= r);
}
/****************************************************************************/
#endif
/****************************************************************************
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1688140</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1688140</guid><dc:creator><![CDATA[cpt.hawk]]></dc:creator><pubDate>Mon, 30 Mar 2009 11:12:34 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim compilieren!!! on Mon, 30 Mar 2009 11:09:12 GMT]]></title><description><![CDATA[<p>Vergesst es ich hab den Fehler gefunden. Die Include-Guards sind falsch.+</p>
<p>Da muss überall _INL statt _H hin. Scheiß copy-paste. Ich wusste es muss ein blöder Fehler sein.</p>
<p>*Gegen den Kopf hau*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1688141</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1688141</guid><dc:creator><![CDATA[cpt.hawk]]></dc:creator><pubDate>Mon, 30 Mar 2009 11:09:12 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim compilieren!!! on Mon, 30 Mar 2009 11:15:33 GMT]]></title><description><![CDATA[<p>So nachdme ich alle Syntaxfehler beseitigt habe tuts jetzt alles. Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1688147</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1688147</guid><dc:creator><![CDATA[cpt.hawk]]></dc:creator><pubDate>Mon, 30 Mar 2009 11:15:33 GMT</pubDate></item></channel></rss>