Listen in C/C++
-
simex schrieb:
Und was ist falsches C?
Damit meint man meistens einen Quelltext, der nicht ohne Fehler durch den Compiler geht.
-
simex schrieb:
Und was ist falsches C?Damit meint man meistens einen Quelltext, der nicht ohne Fehler durch den Compiler geht.
Hier aber wohl nicht
-
DarkShadow44 schrieb:
Hier aber wohl nicht
Weil...?
-
sorry, wirkte vielleicht ein bisschen herablassend. Aber die ganze C und C++ Verwechselei ist ein bisschen nervig. Sollte nicht böse gemeint sein.
Wegen dem malloc, siehe http://www.c-plusplus.net/forum/viewtopic.php?t=206606
-
rüdiger schrieb:
sorry, wirkte vielleicht ein bisschen herablassend. Aber die ganze C und C++ Verwechselei ist ein bisschen nervig. Sollte nicht böse gemeint sein.
Naja, der Seitenbetriber machts ja auch offiziell.
<title>C/C++ Forum :: Index</title>
-
DarkShadow44 schrieb:
Hier aber wohl nichtWeil...?
...man unkompiliert keine Ausgabe bekommt
-
> Naja, der Seitenbetriber machts ja auch offiziell.
Naja, aber selbst Herr Struppi macht da eine feine Unterscheidung. :xmas1:
<a href= schrieb:
http://www2.research.att.com/~bs/bs_faq.html#C-slash">I use C/C++ only in phrases such as "C/C++ compatibility" and "C/C++ community".
-
DarkShadow44 schrieb:
...man unkompiliert keine Ausgabe bekommt
Hmm.
$ gcc main.c main.c: In function 'addElement': main.c:21: error: 'ListElement' undeclared (first use in this function) main.c:21: error: (Each undeclared identifier is reported only once main.c:21: error: for each function it appears in.) main.c:21: error: expected ';' before 'e' main.c:22: error: 'e' undeclared (first use in this function) main.c: In function 'main': main.c:37: error: 'ListElement' undeclared (first use in this function) main.c:37: error: expected ';' before 'head' main.c:38: error: 'head' undeclared (first use in this function) main.c:45: error: 'e' undeclared (first use in this function)
Hab ich da was falsch gemacht?
-
Naja, aufgrund der Compilermeldungen sieht es ganz danach aus
Guck mal wo die angemeckerten Elemente deklarierst.
-
Matze8426 schrieb:
Naja, aufgrund der Compilermeldungen sieht es ganz danach aus
Guck mal wo die angemeckerten Elemente deklarierst.Aber ich hab's doch einfach nur aus dem ersten Post kopiert.
-
Hallo nochmal
,
ich find es gut, dass jeder seine Meinung in einem Forum kundtun darf, aber findet ihr es wirklich sinnvoll darüber nachzudenken ob das nun C++ oder C ist und dabei über andere herzufallen?
Fakt ist jedenfalls, dass sich der Sourcecode mit der Visual C++ 2008 Express Edition ohne Fehlermeldung kompilieren ließ. Ich hatte die "Kompilierungsart" auf "Als C++-Code kompilieren (/TP)". Mit "Als C-Code kompilieren (/TC)" lässt sich der Sourcecode nicht kompilieren. Jetzt kann man sich streiten wie wer was gemeint hat und was nun C-Code ist und was nicht. Ich werd mich aber aus dieser Diskusion herausziehen und möchte rüdiger nochmal danken. Man merkt, dass er das nötige Know-How hat und ich find es super, dass er Menschen wie mir hilft und Fragen beantwortet.
Da es mir tatsächlich darum ging am Ende reinen C-Code zu haben und das Thema nun auch ins ANSI C Forum geschoben wurde, hab ich den Sourcecode angepasst und versucht den Tip mit dem malloc richtig umzusetzen.
Hier das Ergebnis:
#include <stdio.h> #include <stdlib.h> struct listElement { int value; struct listElement *last; struct listElement *next; }; typedef struct listElement ListElement; struct list { ListElement *head; ListElement *position; }; typedef struct list List; typedef enum { false = 0, true = 1 } bool; bool addElement(List *list, int value) { ListElement *element; element = (ListElement *)malloc(sizeof(element)); if(element == NULL) return false; element->value = value; element->next = list->position->next; element->last = list->position; if(list->position->next != NULL) list->position->next->last = element; list->position->next = element; return true; } int main(int argc, char **argv) { List list; ListElement *element; ListElement head; head.value = 40; head.next = NULL; head.last = NULL; list.head = &head; list.position = &head; addElement(&list, 20); element = &head; printf("%i ", element->next->value); printf("%i ", element->value); printf("\n\n"); system("PAUSE"); return EXIT_SUCCESS; }
Grüße Simex
-
simex schrieb:
ich find es gut, dass jeder seine Meinung in einem Forum kundtun darf
Gut ist das sicher nicht, es fällt nur keinem was besseres ein.
-
µngbd schrieb:
simex schrieb:
Und was ist falsches C?
Damit meint man meistens einen Quelltext, der nicht ohne Fehler durch den Compiler geht.
oder einer (viel schrecklicher), der zwar durch den compiler geht, aber mal läuft und manchmal auch nicht.
Ad aCTa schrieb:
Naja, aber selbst Herr Struppi macht da eine feine Unterscheidung.
<a href= schrieb:
http://www2.research.att.com/~bs/bs_faq.html#C-slash">I use C/C++ only in phrases such as "C/C++ compatibility" and "C/C++ community".
struppi ist ja auch voll der loser. "C/C++ compatibility" sowie "C/C++ community" sind kaum vorhanden, quasi nichtssagende buzzwörter. er will doch nur irgendwelche alten aussagen damit rechtfertigen, die er irgendwann mal gemacht hat.
-
;fricky schrieb:
struppi ist ja auch voll der loser. "C/C++ compatibility" sowie "C/C++ community" sind kaum vorhanden, quasi nichtssagende buzzwörter. er will doch nur irgendwelche alten aussagen damit rechtfertigen, die er irgendwann mal gemacht hat.
Naja, "C/C++ community" ist realexistierend hier. Siehe title-Tag.
"C/C++ compatibility" drückt aus, daß C++ viele Syntaxverbrechen, die man heutzutage niemals mehr machen würde, von C übernommen hat, um verdammt viele C-Benutzer zu klauen.
-
volkard schrieb:
"C/C++ compatibility" drückt aus, daß C++ viele Syntaxverbrechen, die man heutzutage niemals mehr machen würde, von C übernommen hat, um verdammt viele C-Benutzer zu klauen.
So wie
[](int x, int y) -> int { return x + y; }
?
-
Was soll denn das sein
-
Genmutant schrieb:
Was soll denn das sein
Das ist Syntax, wie man sie heute macht. Wer kommt drauf, was das bedeutet? (volkard bitte ein wenig abwarten)
-
µngbd schrieb:
Wer kommt drauf, was das bedeutet?
eins der neuen c++0x features? *gg*, ne, keine ahnung
-
;fricky schrieb:
eins der neuen c++0x features? *gg*, ne, keine ahnung
Stimmt. Erste Hälfte des Rätsel gelöst.
Aber was bedeutet das? Das ist Syntax, wie man sie heute macht, das muss doch jedem von selbst einleuchten!
-
Vielleicht erzeugst du ein Array das die übergebenen Parameter addiert und speichert? Und das Array wächst mit jedem übergebenen Parameterpaar!
Das fände ich auf jeden Fall toll :xmas1:
Die Frage ist nur wie ich an den Namen des Arrays komme... vielleicht werden ja Arrays allgemein umdefiniert!