<?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 beim Kompilieren]]></title><description><![CDATA[<p>Hallo, Leute. Da bin ich wieder und weil ich Anfänger in<br />
C++ bin, brauche ich wieder Ihre Hilfe.Ich gehe jetzt<br />
einen Tutorial für Visual C++.6 durch, ich habe aber<br />
Visual <a href="http://Studio.Net" rel="nofollow">Studio.Net</a> 2003. Und hier gibt es einige<br />
Unterschiede. Es geht um ein Grafik-Programm.<br />
Ein SDI-Anwendung. Es soll etwas gezeichnet werden.<br />
Und dann gespeichert.Und dann wieder gezeigt.<br />
Also, ich habe eine neue Klasse <strong>CLine</strong> erstellt.<br />
In <strong>Tag10_1Doc.h</strong> habe ich einen Funktion<br />
<strong>AddLine(CPoint ptFrom, CPoint ptTo)</strong> eingefügt<br />
mit Funktionstyp <strong>CLine</strong>* und mit gleichem<br />
Funktionstyp noch eine Funktion <strong>GetLine(int nIndex)</strong>.<br />
Beim kompilieren ich bekomme immer Fehler:</p>
<pre><code>Tag10_1Doc.h(40): error C2143: syntax error : missing ';' before '*'
Tag10_1Doc.h(42): error C2143: syntax error : missing ';' before '*'
Tag10_1Doc.h(40): error C2501: 'CTag10_1Doc::AddLine' : missing storage-class or type specifiers
Tag10_1Doc.h(40): error C2501: 'CTag10_1Doc::CLine' : missing storage-class or type specifiers
Tag10_1Doc.h(42): error C2501: 'CTag10_1Doc::CLine' : missing storage-class or type specifiers
Tag10_1Doc.h(42): error C2501: 'CTag10_1Doc::GetLine' : missing storage-class or type specifiers
Tag10_1Doc.h(40): warning C4183: 'AddLine': missing return type; assumed to be a member function returning 'int'
Tag10_1Doc.h(42): warning C4183: 'GetLine': missing return type; assumed to be a member function returning 'int'
</code></pre>
<p>Da sind diese zwei Funktionen. Die sind im Tag10_1Doc.h als public deklariert.</p>
<pre><code>CLine * AddLine(CPoint ptFrom, CPoint ptTo) //(Zeile 40)
{
	//Ein neues CLine-Object erzeugen
	CLine *pLine = new CLine(ptFrom, ptTo);
	try
	{
		//Die neue Linie in das Object-Array einfügen
		m_oaLines.Add(pLine);
		//Dokument als bearbeitet markieren
		SetModifiedFlag();
	}
	//Ist speicherausnahme aufgetretten?
	catch(CMemoryException* perr)
	{
		//Meldung für Benutzer, schlechte
		//Neuigkeiten mitteilen
		AfxMessageBox(&quot;Speichermangel&quot;, MB_ICONSTOP | MB_OK);
		//Wurde Linienobject erzeugt?
		if(pLine)
		{
			//Object löschen
			delete pLine;
			pLine = NULL;
		}
		//Ausnahmeobject löschen
		perr-&gt;Delete();
	}
	return pLine;
}

CLine * GetLine(int nIndex)                 //(Zeile 42)
{
	//Zeiger auf Linienobject für die angegeben
	//Position in Objectarray zurückgeben
	return (CLine*)m_oaLines[nIndex]; //m_osLines ist eine Variable von Typ CObArray
}
</code></pre>
<p>&quot;Line.h&quot; habe ich überall includet.<br />
Kann mir jemand weiter helfen? Ich wäre dankbar für jeder Hilfe.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/70974/fehler-beim-kompilieren</link><generator>RSS for Node</generator><lastBuildDate>Wed, 29 Apr 2026 01:59:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/70974.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 13 Apr 2004 17:51:49 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fehler beim Kompilieren on Tue, 13 Apr 2004 17:51:49 GMT]]></title><description><![CDATA[<p>Hallo, Leute. Da bin ich wieder und weil ich Anfänger in<br />
C++ bin, brauche ich wieder Ihre Hilfe.Ich gehe jetzt<br />
einen Tutorial für Visual C++.6 durch, ich habe aber<br />
Visual <a href="http://Studio.Net" rel="nofollow">Studio.Net</a> 2003. Und hier gibt es einige<br />
Unterschiede. Es geht um ein Grafik-Programm.<br />
Ein SDI-Anwendung. Es soll etwas gezeichnet werden.<br />
Und dann gespeichert.Und dann wieder gezeigt.<br />
Also, ich habe eine neue Klasse <strong>CLine</strong> erstellt.<br />
In <strong>Tag10_1Doc.h</strong> habe ich einen Funktion<br />
<strong>AddLine(CPoint ptFrom, CPoint ptTo)</strong> eingefügt<br />
mit Funktionstyp <strong>CLine</strong>* und mit gleichem<br />
Funktionstyp noch eine Funktion <strong>GetLine(int nIndex)</strong>.<br />
Beim kompilieren ich bekomme immer Fehler:</p>
<pre><code>Tag10_1Doc.h(40): error C2143: syntax error : missing ';' before '*'
Tag10_1Doc.h(42): error C2143: syntax error : missing ';' before '*'
Tag10_1Doc.h(40): error C2501: 'CTag10_1Doc::AddLine' : missing storage-class or type specifiers
Tag10_1Doc.h(40): error C2501: 'CTag10_1Doc::CLine' : missing storage-class or type specifiers
Tag10_1Doc.h(42): error C2501: 'CTag10_1Doc::CLine' : missing storage-class or type specifiers
Tag10_1Doc.h(42): error C2501: 'CTag10_1Doc::GetLine' : missing storage-class or type specifiers
Tag10_1Doc.h(40): warning C4183: 'AddLine': missing return type; assumed to be a member function returning 'int'
Tag10_1Doc.h(42): warning C4183: 'GetLine': missing return type; assumed to be a member function returning 'int'
</code></pre>
<p>Da sind diese zwei Funktionen. Die sind im Tag10_1Doc.h als public deklariert.</p>
<pre><code>CLine * AddLine(CPoint ptFrom, CPoint ptTo) //(Zeile 40)
{
	//Ein neues CLine-Object erzeugen
	CLine *pLine = new CLine(ptFrom, ptTo);
	try
	{
		//Die neue Linie in das Object-Array einfügen
		m_oaLines.Add(pLine);
		//Dokument als bearbeitet markieren
		SetModifiedFlag();
	}
	//Ist speicherausnahme aufgetretten?
	catch(CMemoryException* perr)
	{
		//Meldung für Benutzer, schlechte
		//Neuigkeiten mitteilen
		AfxMessageBox(&quot;Speichermangel&quot;, MB_ICONSTOP | MB_OK);
		//Wurde Linienobject erzeugt?
		if(pLine)
		{
			//Object löschen
			delete pLine;
			pLine = NULL;
		}
		//Ausnahmeobject löschen
		perr-&gt;Delete();
	}
	return pLine;
}

CLine * GetLine(int nIndex)                 //(Zeile 42)
{
	//Zeiger auf Linienobject für die angegeben
	//Position in Objectarray zurückgeben
	return (CLine*)m_oaLines[nIndex]; //m_osLines ist eine Variable von Typ CObArray
}
</code></pre>
<p>&quot;Line.h&quot; habe ich überall includet.<br />
Kann mir jemand weiter helfen? Ich wäre dankbar für jeder Hilfe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/500750</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/500750</guid><dc:creator><![CDATA[Anin]]></dc:creator><pubDate>Tue, 13 Apr 2004 17:51:49 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim Kompilieren on Tue, 13 Apr 2004 18:52:41 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>poste mal die richtige Zeilen der Header-Datei (oder die richtige Header-Datei), denn die Zeilennummern und die Fehler passen nicht zu dem von dir angegebenen Code-Teil...</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/500788</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/500788</guid><dc:creator><![CDATA[Probe-Nutzer]]></dc:creator><pubDate>Tue, 13 Apr 2004 18:52:41 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim Kompilieren on Tue, 13 Apr 2004 19:05:28 GMT]]></title><description><![CDATA[<p>Benutze mal den menschlichen Zeichenweisen Debugger und kontrolliere, ob Du auch an alle entscheidenenden Stellen ein Semikolon gesetzt hast, wie sieht es mit Klammerpaaren aus...Zuweisungen statt Vergleiche, die ganzen Flüchtigkeitsfehler eben.</p>
<p>Ausserdem ein guter Tipp. Direkt mit Windows/ MFC Programmiereung anzufangen ist IMHO keine gute Idee. Besorg Dir ein Buch wie &quot;C++ in 21 Tagen&quot; (nimm das mit den Tagen nicht so ernst und schau mal die Buch und Tutorialkritiken hier auf der Seite an- da gibt es ne Menge Bücher. Geh mal in einen Buchladen und lies ein bisschen darin rum, dann sieht man oft, womit man klar kommt und womit nicht) und schreibe Konsolenanwendungen. Kann man ruhig mit <a href="http://VS.NET" rel="nofollow">VS.NET</a> 2003 machen und lern erstmal die elementaren Grundlagen. Meistens schreibt man dann am Anfang keine besonders interessanten Programme, dafür lernt man sehr wichtige Sachen. Wenn Du damit durch bist wird Dir MFC, .NET oder was auch immer viel leichter fallen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/500793</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/500793</guid><dc:creator><![CDATA[Physikalischer Fehler]]></dc:creator><pubDate>Tue, 13 Apr 2004 19:05:28 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim Kompilieren on Tue, 13 Apr 2004 20:56:01 GMT]]></title><description><![CDATA[<p>Also, hier ist 'Line.h':</p>
<pre><code>#pragma once
#include &quot;atltypes.h&quot;

// CLine command target

class CLine : public CObject
{
public:
	CLine(CPoint ptFrom, CPoint ptTo);
	virtual ~CLine();
private:
	CPoint m_ptFrom;
	CPoint m_ptTo;
public:		
	void Draw(CDC* pDC);
};
</code></pre>
<p>Line.cpp</p>
<pre><code>#include &quot;stdafx.h&quot;
#include &quot;Tag10_1.h&quot;
#include &quot;MainFrm.h&quot;
#include &quot;Line.h&quot;
#include &quot;.\line.h&quot;

// CLine

CLine::CLine(CPoint ptFrom, CPoint ptTo)
{
	//Anfang und Endpunkte initialisieren
	m_ptFrom = ptFrom;
	m_ptTo = ptTo;
}

CLine::~CLine()
{
}

// CLine member functions

void CLine::Draw(CDC* pDC)
{
	//Linie zeichnen
	pDC-&gt;MoveTo(m_ptFrom);
	pDC-&gt;LineTo(m_ptTo);
}
</code></pre>
<p>Tag10_1Doc.cpp</p>
<pre><code>//

#include &quot;stdafx.h&quot;
#include &quot;Tag10_1.h&quot;
#include &quot;MainFrm.h&quot;
#include &quot;Line.h&quot;
#include &quot;Tag10_1Doc.h&quot;
#include &quot;.\tag10_1doc.h&quot;

#ifdef _DEBUG
#define new DEBUG_NEW
#endif

// CTag10_1Doc

IMPLEMENT_DYNCREATE(CTag10_1Doc, CDocument)

BEGIN_MESSAGE_MAP(CTag10_1Doc, CDocument)
END_MESSAGE_MAP()

// CTag10_1Doc Erstellung/Zerstörung

CTag10_1Doc::CTag10_1Doc()
{
	// TODO: Hier Code für One-Time-Konstruktion einfügen

}

CTag10_1Doc::~CTag10_1Doc()
{
}

BOOL CTag10_1Doc::OnNewDocument()
{
	if (!CDocument::OnNewDocument())
		return FALSE;

	// TODO: Hier Code zur Reinitialisierung einfügen
	// (SDI-Dokumente verwenden dieses Dokument)

	return TRUE;
}

// CTag10_1Doc Serialisierung

void CTag10_1Doc::Serialize(CArchive&amp; ar)
{
	if (ar.IsStoring())
	{
		// TODO: Hier Code zum Speichern einfügen
	}
	else
	{
		// TODO: Hier Code zum Laden einfügen
	}
}

// CTag10_1Doc Diagnose

#ifdef _DEBUG
void CTag10_1Doc::AssertValid() const
{
	CDocument::AssertValid();
}

void CTag10_1Doc::Dump(CDumpContext&amp; dc) const
{
	CDocument::Dump(dc);
}
#endif //_DEBUG

// CTag10_1Doc-Befehle

CLine* CTag10_1Doc::AddLine(CPoint ptFrom, CPoint ptTo)
{
	//Ein neues CLine-Object erzeugen
	CLine *pLine = new CLine(ptFrom, ptTo);
	try
	{
		//Die neue Linie in das Object-Array einfügen
		m_oaLines.Add(pLine);
		//Dokument als bearbeitet markieren
		SetModifiedFlag();
	}
	//Ist speicherausnahme aufgetretten?
	catch(CMemoryException* perr)
	{
		//Meldung für Benutzer, schlechte
		//Neuigkeiten mitteilen
		AfxMessageBox(&quot;Speichermangel&quot;, MB_ICONSTOP | MB_OK);
		//Wurde Linienobject erzeugt?
		if(pLine)
		{
			//Object löschen
			delete pLine;
			pLine = NULL;
		}
		//Ausnahmeobject löschen
		perr-&gt;Delete();
	}
	return pLine;
}

int CTag10_1Doc::GetLineCount()
{
	//Größe des Arrays zurückgeben
	return m_oaLines.GetSize();
}

CLine* CTag10_1Doc::GetLine(int nIndex)
{
	//Zeiger auf Linienobject für die angegeben
	//Position in Objectarray zurückgeben
	return (CLine*)m_oaLines[nIndex];
}
</code></pre>
<p>Tag10_1Doc.h</p>
<pre><code>#pragma once
#include &quot;afxcoll.h&quot;

class CTag10_1Doc : public CDocument
{
protected: // Nur aus Serialisierung erstellen
	CTag10_1Doc();
	DECLARE_DYNCREATE(CTag10_1Doc)

// Attribute
public:

// Operationen
public:

// Überschreibungen
	public:
	virtual BOOL OnNewDocument();
	virtual void Serialize(CArchive&amp; ar);

// Implementierung
public:
	virtual ~CTag10_1Doc();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext&amp; dc) const;
#endif

protected:

// Generierte Funktionen für die Meldungstabellen
protected:
	DECLARE_MESSAGE_MAP()
public:
	CObArray m_oaLines;
	CLine * AddLine(CPoint ptFrom, CPoint ptTo);
	int GetLineCount(void);
	CLine * GetLine(int nIndex);
};
</code></pre>
<p>Ich bin Anfänger, wenn um C++ geht. Ich habe einige Büche schon gelesen, und mit Syntax, ich denke, ich bin auch vertraut. Alle Tutorials(fast) sind für VC++6 geschrieben, und da sind schon gewiese Unterschiede mit <a href="http://VS.Net" rel="nofollow">VS.Net</a>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/500866</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/500866</guid><dc:creator><![CDATA[Anin]]></dc:creator><pubDate>Tue, 13 Apr 2004 20:56:01 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim Kompilieren on Tue, 13 Apr 2004 21:24:52 GMT]]></title><description><![CDATA[<p>Also Leute. Ich habe vergessen in 'Tag10_1.h' 'Line.h' einbinden.Entschuldigen für die Störung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/500895</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/500895</guid><dc:creator><![CDATA[Anin]]></dc:creator><pubDate>Tue, 13 Apr 2004 21:24:52 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim Kompilieren on Wed, 14 Apr 2004 05:22:44 GMT]]></title><description><![CDATA[<p>Physikalischer Fehler schrieb:</p>
<blockquote>
<p>Benutze mal den menschlichen Zeichenweisen Debugger und kontrolliere, ob Du auch an alle entscheidenenden Stellen ein Semikolon gesetzt hast, wie sieht es mit Klammerpaaren aus...Zuweisungen statt Vergleiche, die ganzen Flüchtigkeitsfehler eben.</p>
</blockquote>
<p>Ich weiß zwar jetzt nicht was du mit &quot;Zeichenweisen Debugger&quot; meinst (vieleicht gibt es ja in VC++ etwas wovon ich nichts weiß) aber IMHO kann man den Debugger erst verwenden wenn sich das Programm kompilieren läßt. Die von Dir angesprochen Fehler lassen sich allso damit nicht finden. Macht aber nicht da der kompiler bereits Fehler mit Zeilennummern auswirft.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/501010</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/501010</guid><dc:creator><![CDATA[Unix-Tom]]></dc:creator><pubDate>Wed, 14 Apr 2004 05:22:44 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim Kompilieren on Wed, 14 Apr 2004 07:10:27 GMT]]></title><description><![CDATA[<p>es geht mehr um den <em>menschlichen</em> debugger (also Du selbst), der zeichen für zeichen den eigenen Code liest.... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/501057</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/501057</guid><dc:creator><![CDATA[Physikalischer Fehler]]></dc:creator><pubDate>Wed, 14 Apr 2004 07:10:27 GMT</pubDate></item></channel></rss>