<?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[Als extern deklarierte funktionen]]></title><description><![CDATA[<p>hallo zusammen</p>
<p>wollte kurz fragen warum es sinn macht, funnktions-deklarationen mit der extern speicherklasse zu versehen? bei variablen und objekten macht es für mich sinn, weil man damit explizit auf ein/e bereits global deklarierte/s variable/objekt verweisst. aber wozu bei funktions-deklarationen? angenommen wir haben vollgenden fall:</p>
<pre><code class="language-cpp">//file1.cpp

//definition
void Function()
{
}
</code></pre>
<p>dann möchten wir Function in file2.cpp verwenden:</p>
<pre><code class="language-cpp">//file2.cpp

//deklaration
void Function();

//ausführen
Function();
</code></pre>
<p>und das funktioniert ja. wozu also extern bei funktionen? ich dachte zuerst das die extern verwendung dann sinn macht, wenn für funktionen z.B. keine header existieren. aber extern ist ja garnicht notwendig wie ich bemerkt habe. kann es sein das es bei funktionen nicht notwendig ist, weil man funktionen nunmal nicht instanziieren kann <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /> ? sprich, der aufruf einer funktion ist immer der call zur einzigsten funktion die es davon gäbe? anderst als bei objekten, variablen. dementsprechend weiss der compiler immer welche funktion damit gemeint ist, oder? ich denke mal, ausser wenn die definition mit der speicherklasse static beglückt wurde.</p>
<p>kooooooommt das hin? :xmas1: :xmas2:</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/230222/als-extern-deklarierte-funktionen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 27 Sep 2026 11:08:56 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/230222.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 22 Dec 2008 15:42:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Als extern deklarierte funktionen on Mon, 22 Dec 2008 15:42:02 GMT]]></title><description><![CDATA[<p>hallo zusammen</p>
<p>wollte kurz fragen warum es sinn macht, funnktions-deklarationen mit der extern speicherklasse zu versehen? bei variablen und objekten macht es für mich sinn, weil man damit explizit auf ein/e bereits global deklarierte/s variable/objekt verweisst. aber wozu bei funktions-deklarationen? angenommen wir haben vollgenden fall:</p>
<pre><code class="language-cpp">//file1.cpp

//definition
void Function()
{
}
</code></pre>
<p>dann möchten wir Function in file2.cpp verwenden:</p>
<pre><code class="language-cpp">//file2.cpp

//deklaration
void Function();

//ausführen
Function();
</code></pre>
<p>und das funktioniert ja. wozu also extern bei funktionen? ich dachte zuerst das die extern verwendung dann sinn macht, wenn für funktionen z.B. keine header existieren. aber extern ist ja garnicht notwendig wie ich bemerkt habe. kann es sein das es bei funktionen nicht notwendig ist, weil man funktionen nunmal nicht instanziieren kann <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /> ? sprich, der aufruf einer funktion ist immer der call zur einzigsten funktion die es davon gäbe? anderst als bei objekten, variablen. dementsprechend weiss der compiler immer welche funktion damit gemeint ist, oder? ich denke mal, ausser wenn die definition mit der speicherklasse static beglückt wurde.</p>
<p>kooooooommt das hin? :xmas1: :xmas2:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1634168</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1634168</guid><dc:creator><![CDATA[loooka]]></dc:creator><pubDate>Mon, 22 Dec 2008 15:42:02 GMT</pubDate></item><item><title><![CDATA[Reply to Als extern deklarierte funktionen on Mon, 22 Dec 2008 17:01:14 GMT]]></title><description><![CDATA[<p>funktionsdeklarationen sind immer von haus aus extern - ein extra extern bringt garnichts.</p>
<p>es sei denn man macht ein extern &quot;C&quot; daraus, aber das ist dann wieder eine andere geschichte <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/1634214</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1634214</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Mon, 22 Dec 2008 17:01:14 GMT</pubDate></item><item><title><![CDATA[Reply to Als extern deklarierte funktionen on Tue, 23 Dec 2008 16:37:50 GMT]]></title><description><![CDATA[<p>Du kannst <code>extern</code> aber verwenden, wenn du die Linkage der Funktionen explizit angeben willst. Ist vielleicht praktisch, wenn du nebenbei noch <code>static</code> -Funktionen hast. Notwendig ist es jedoch nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1634729</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1634729</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 23 Dec 2008 16:37:50 GMT</pubDate></item></channel></rss>