<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://update.proggen.org/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://update.proggen.org/feed.php">
        <title>proggen.org c:faq</title>
        <description></description>
        <link>http://update.proggen.org/</link>
        <image rdf:resource="http://update.proggen.org/lib/tpl/proggenY/images/favicon.ico" />
       <dc:date>2026-04-19T09:14:31+0200</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=c:faq:differences-c-cpp&amp;rev=1663868367"/>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=c:faq:extra_qualification_on_member&amp;rev=1663868367"/>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=c:faq:hidden-extensions&amp;rev=1663868367"/>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=c:faq:input-puffer&amp;rev=1663868367"/>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=c:faq:main-parameter&amp;rev=1663868367"/>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=c:faq:no_match_function_for_call_near_match&amp;rev=1663868367"/>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=c:faq:passing_const_discards_qualifiers&amp;rev=1663868367"/>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=c:faq:plattforms&amp;rev=1663868367"/>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=c:faq:pow&amp;rev=1663868367"/>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=c:faq:program-disappears&amp;rev=1663868367"/>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=c:faq:references&amp;rev=1663868367"/>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=c:faq:round&amp;rev=1663868367"/>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=c:faq:sleep&amp;rev=1663868367"/>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=c:faq:undefined_reference_to_vtable&amp;rev=1663868367"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://update.proggen.org/lib/tpl/proggenY/images/favicon.ico">
        <title>proggen.org</title>
        <link>http://update.proggen.org/</link>
        <url>http://update.proggen.org/lib/tpl/proggenY/images/favicon.ico</url>
    </image>
    <item rdf:about="http://update.proggen.org/doku.php?id=c:faq:differences-c-cpp&amp;rev=1663868367">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:27+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c:faq:differences-c-cpp</title>
        <link>http://update.proggen.org/doku.php?id=c:faq:differences-c-cpp&amp;rev=1663868367</link>
        <description>Frage #6

 Was sind die Unterschiede zwischen C und C++? 

Ist C und C++ ein und dasselbe? Das erscheint einem manchmal in euren Texten so. Für jemanden wie mich (also ohne jegliche Erfahrung) ist es schwierig zu verstehen was nun zu was gehört. 

Und wenn C anders als C++ ist, ist es dann leichter mit C-Vorkenntnissen C++ zu lernen?</description>
    </item>
    <item rdf:about="http://update.proggen.org/doku.php?id=c:faq:extra_qualification_on_member&amp;rev=1663868367">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:27+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c:faq:extra_qualification_on_member</title>
        <link>http://update.proggen.org/doku.php?id=c:faq:extra_qualification_on_member&amp;rev=1663868367</link>
        <description>extra qualification ... on member ...

Das Problem

Folgende Fehlermeldung spuckte mein GCC 4.1 heute aus:
&lt;file.h&gt;: error: extra qualification '&lt;Namespace::Class&gt;::' on member '&lt;Memberfunction&gt;'
Der Fehler

Der Fehler ist vergleichsweise einfach: 

Die Deklaration der Memberfunction innerhalb der Class enthält einen Namensraum. Dies kann zum Beispiel geschehen, wenn man die Funktionskopf nach der Definition im .cpp-File in die Klassendeklaration kopiert wird und man dabei eben vergisst den Name…</description>
    </item>
    <item rdf:about="http://update.proggen.org/doku.php?id=c:faq:hidden-extensions&amp;rev=1663868367">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:27+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c:faq:hidden-extensions</title>
        <link>http://update.proggen.org/doku.php?id=c:faq:hidden-extensions&amp;rev=1663868367</link>
        <description>verschoben ins Windows-FAQ</description>
    </item>
    <item rdf:about="http://update.proggen.org/doku.php?id=c:faq:input-puffer&amp;rev=1663868367">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:27+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c:faq:input-puffer</title>
        <link>http://update.proggen.org/doku.php?id=c:faq:input-puffer&amp;rev=1663868367</link>
        <description>Frage #2

 Wie und wieso soll ich die Standardeingabe löschen? 

Antwort:

Betrachtet folgende Programme:


#include &lt;stdio.h&gt;

int main()
{
  int x, y;

  printf(&quot;Bitte geben Sie einen Summanden ein: &quot;);
  scanf(&quot;%d&quot;, &amp;x);
       
  printf(&quot;Bitte geben Sie noch einen Summanden ein: &quot;);
  scanf(&quot;%d&quot;, &amp;y);

  printf(&quot;%d + %d = %d\n&quot;, x, y, x + y);
       
  printf(&quot;Bitte druecken Sie Enter um zu beenden: &quot;);
  getchar();
       
  return 0;
}</description>
    </item>
    <item rdf:about="http://update.proggen.org/doku.php?id=c:faq:main-parameter&amp;rev=1663868367">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:27+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c:faq:main-parameter</title>
        <link>http://update.proggen.org/doku.php?id=c:faq:main-parameter&amp;rev=1663868367</link>
        <description>Frage #7

 Wie kann ich Kommandozeilenargumente verwenden und auswerten? 

Antwort:

Man definiert die main-Funktion auf eine der beiden folgenden Weisen:

int main( int argc, char **argv  )
int main( int argc, char* argv[] )

Jetzt erhalten wir über 'argc' die Anzahl der übergebenen Argumente und über 'argv' die Werte an sich.</description>
    </item>
    <item rdf:about="http://update.proggen.org/doku.php?id=c:faq:no_match_function_for_call_near_match&amp;rev=1663868367">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:27+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c:faq:no_match_function_for_call_near_match</title>
        <link>http://update.proggen.org/doku.php?id=c:faq:no_match_function_for_call_near_match&amp;rev=1663868367</link>
        <description>no match function for call ... near match

Eine Methode einer Klasse findet eine offensichtlich existierende Funktionen nicht.

Das Problem

In letzter Zeit stolperte ich häufiger über Fehlermeldungen wie diese. Der GCC meldet dabei eine korrekte Fehlermeldung.</description>
    </item>
    <item rdf:about="http://update.proggen.org/doku.php?id=c:faq:passing_const_discards_qualifiers&amp;rev=1663868367">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:27+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c:faq:passing_const_discards_qualifiers</title>
        <link>http://update.proggen.org/doku.php?id=c:faq:passing_const_discards_qualifiers&amp;rev=1663868367</link>
        <description>passing 'const &lt;Klasse&gt;' as 'this' argument of '... function( ... )' discards qualifiers

Das Problem

Folgendes Fehlermeldung spuckte mein GCC 4.1 heute (mal wieder) aus:
&lt;file&gt;: error: passing 'const &lt;Klasse&gt;' as 'this' argument of 'bool function( ... )' discards qualifiers</description>
    </item>
    <item rdf:about="http://update.proggen.org/doku.php?id=c:faq:plattforms&amp;rev=1663868367">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:27+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c:faq:plattforms</title>
        <link>http://update.proggen.org/doku.php?id=c:faq:plattforms&amp;rev=1663868367</link>
        <description>Frage #9

 Wie unterscheide ich unterschiedliche Betriebssysteme? 

Antwort:

In Programmiersprachen, die nicht auf ein bestimmtes Problem spezialisiert sind trifft man immer wieder auf das Problem, dass manche Anforderungen bei einem Betriebssystem anders gelöst werden müssen als bei einem anderen (oder in der Betriebssystemprogrammierung, dass z.B. der Linux-Kernel für unterschiedliche Computer auch unterschiedlich zusammengebaut werden muss).</description>
    </item>
    <item rdf:about="http://update.proggen.org/doku.php?id=c:faq:pow&amp;rev=1663868367">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:27+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c:faq:pow</title>
        <link>http://update.proggen.org/doku.php?id=c:faq:pow&amp;rev=1663868367</link>
        <description>Frage #5

 Warum funktioniert das Potenzieren mit '^' nicht, und wie mache ich es richtig?  

Antwort:

Problem

Seht euch einmal folgendes Programm an:

#include &lt;stdio.h&gt;
int main()
{
    int result = 2 ^ 2;
    printf(&quot;Das Quadrat von 2 ist (nicht) %d.\n&quot;, result);
    return 0;
}</description>
    </item>
    <item rdf:about="http://update.proggen.org/doku.php?id=c:faq:program-disappears&amp;rev=1663868367">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:27+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c:faq:program-disappears</title>
        <link>http://update.proggen.org/doku.php?id=c:faq:program-disappears&amp;rev=1663868367</link>
        <description>Frage #1

 Wieso blinkt mein Programm nur kurz auf und verschwindet dann sofort wieder? 

Antwort:

Weil es genau das tun soll.
Höchstwahrscheinlich habt ihr gerade mit dem Programmieren angefangen, verwendet Windows und irgendeine Entwicklungsumgebung oder ihr habt einfach nur auf die .exe geklickt (Wenn nicht, dann läuft hier was falsch</description>
    </item>
    <item rdf:about="http://update.proggen.org/doku.php?id=c:faq:references&amp;rev=1663868367">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:27+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c:faq:references</title>
        <link>http://update.proggen.org/doku.php?id=c:faq:references&amp;rev=1663868367</link>
        <description>Frage #3

 Was ist die beste C/C++ Referenz? 

Antwort:

Wie bei so Vielem im Leben, gibt es hier keine eindeutige Antwort. Die „beste“ Referenz zu finden ist eine Sache, die jeder Programmierer für sich entscheiden muss.
Die passende Referenz zu finden hängt davon ab, wie detailliert ihr die Informationen haben wollt, wie gut ihr Programmieren könnt, wie aktuell ihr sie braucht, usw.</description>
    </item>
    <item rdf:about="http://update.proggen.org/doku.php?id=c:faq:round&amp;rev=1663868367">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:27+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c:faq:round</title>
        <link>http://update.proggen.org/doku.php?id=c:faq:round&amp;rev=1663868367</link>
        <description>Frage #4

 Warum werden meine Zahlen immer abgerundet, und wie kann ich das ändern? 

Antwort:

Im Normalfall wird nicht gerundet sondern es werden einfach alle Nachkommastellen abgeschnitten. D.h. bei jeder Konvertierung von einer Gleitkommazahl in eine Ganzzahl werden alle Nachkommastellen abgeschnitten und nur der Wert vor dem Komma der neuen Ganzzahl zugewiesen. Meistens möchte man jedoch kaufmännisch runden, wofür es eine sehr einfache Lösung gibt:</description>
    </item>
    <item rdf:about="http://update.proggen.org/doku.php?id=c:faq:sleep&amp;rev=1663868367">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:27+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c:faq:sleep</title>
        <link>http://update.proggen.org/doku.php?id=c:faq:sleep&amp;rev=1663868367</link>
        <description>Frage #8

 Wie kann ich die Ausführung meines Programmes für eine bestimmte Zeit lang unterbrechen? 

Antwort:

Mit der Funktion sleep unter POSIX Systemen (Unix, Linux...) und mit Sleep unter Windows.


#include &lt;unistd.h&gt;
unsigned sleep( unsigned seconds );</description>
    </item>
    <item rdf:about="http://update.proggen.org/doku.php?id=c:faq:undefined_reference_to_vtable&amp;rev=1663868367">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:27+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c:faq:undefined_reference_to_vtable</title>
        <link>http://update.proggen.org/doku.php?id=c:faq:undefined_reference_to_vtable&amp;rev=1663868367</link>
        <description>undefined reference to vtable

Das Problem

Die Vererbungslehre von C++ führt in einem Fall zur Vererbungsleere und damit beim GNU C++ Compiler g++ zu einer eindeutig unverständlichen Fehlermeldung des Linkers.
So erzählte mir mein C-Compiler zur Begründung des abgebrochenen Linkervorgangs folgendes:</description>
    </item>
</rdf:RDF>
