Guten Tag, wenn ich das Code Beispiel für C zur Tasterentprellung von Peter Danegger (http://www.mikrocontroller.net/articles/Entprellung) aptippe bekomme ich immer diese Meldung: Error 10 'key_press' undeclared (first use in this function) http://www.mikrocontroller.net/articles/Entprellung Ich verstehe nicht warum, denn diese Variable ist als volatile vor dem Hauptprogramm sprich while(1) deklariert. volatile uint8_t key_press; Dennoch bekomme ich die Meldung das sie nicht deklariert wäre. Beste Grüße Stefan
Stefan schrieb: > Dennoch bekomme ich die Meldung das sie nicht deklariert wäre. zeige bitte den Quellcode.
Wenn du die Variable innerhalb einer Funktion deklarierst, dann ist sie außerhalb einer Funktion nicht sichtbar, d.h. undeklariert.
Hier der Code stark gekürzt aber die wichtigsten Passagen:
1 | #ifndef F_CPU
|
2 | #define F_CPU 2000000UL
|
3 | #endif
|
4 | |
5 | #include <avr/io.h> |
6 | #include <util/delay.h> |
7 | #include <stdint.h> |
8 | #include <avr/interrupt.h> |
9 | |
10 | |
11 | int main(void) |
12 | {
|
13 | //Deklaration der Init Funktionen
|
14 | void init_cpuClock(void); //stellt Taktfrequenz auf 2MHz |
15 | void test_ledgruen(void); |
16 | void test_leddualrot(void); |
17 | void test_leddualgruen(void); |
18 | void test_pwmled(void); |
19 | void ladestatus_pruefen_anzeigen(void); |
20 | |
21 | init_cpuClock(); |
22 | |
23 | // Ein- Ausgangs Deklaration
|
24 | PORTC.DIR |= (1<<PIN0) | (1<<PIN1) | (1<<PIN2) | (1<<PIN3) | (1<<PIN4); |
25 | PORTE.DIR |= (1<<PIN0) | (1<<PIN3); |
26 | PORTD.DIR = 0b00000000; |
27 | PORTA.DIR = 0b00000000; |
28 | |
29 | // Timer-PWM Konfiguration
|
30 | TCC0.CTRLB = TC_WGMODE_SINGLESLOPE_gc | TC0_CCAEN_bm; //Single Slope und Compare freigabe |
31 | TCC0.PER = 0x0FFF; // 12bit Auflösung |
32 | TCC0.CTRLA = TC_CLKSEL_DIV4_gc; //Prescale 4 |
33 | |
34 | // Timer fuer Taster Abfrage
|
35 | TCD0.CTRLB = TC_WGMODE_NORMAL_gc; // Normal Mode |
36 | TCD0.CTRLA = TC_CLKSEL_DIV1_gc; // Prescaler |
37 | TCD0.INTCTRLA = TC_OVFINTLVL_HI_gc; |
38 | TCD0.INTCTRLA = 0x03; // Interrupt Prio auf höchste Stufe |
39 | TCD0.PER = 20000; // Timer Topwert 10ms Abtastrate |
40 | |
41 | PMIC.CTRL |= PMIC_HILVLEN_bm | PMIC_LOLVLEN_bm | PMIC_MEDLVLEN_bm; //Interrupts aktivieren ( HIGH LOW MIDDLE) |
42 | |
43 | |
44 | |
45 | |
46 | // LED`s
|
47 | #define led_pwm TCC0.CCA
|
48 | #define port_led PORTC
|
49 | #define pin_ledgruen PIN1 //LED Gruen
|
50 | #define pin_leddualgruen PIN3 //Dual LED Gruen
|
51 | #define pin_leddualrot PIN2 //Dual LED Rot
|
52 | |
53 | //Ladecontroller
|
54 | #define port_stat PORTD
|
55 | #define pin_stat1 PIN0 //Status PIN`s Ladecontroller
|
56 | #define pin_stat2 PIN1
|
57 | |
58 | //Variablen fuer Taster-Abfrage
|
59 | #define KEY_DDR DDRB
|
60 | #define KEY_PORT PORTB
|
61 | #define KEY_PIN PINB
|
62 | #define KEY0 0
|
63 | #define KEY1 1
|
64 | #define KEY2 2
|
65 | #define ALL_KEYS (1<<KEY0 | 1<<KEY1 | 1<<KEY2)
|
66 | |
67 | #define REPEAT_MASK (1<<KEY1 | 1<<KEY2) // repeat: key1, key2
|
68 | #define REPEAT_START 50 // after 500ms
|
69 | #define REPEAT_NEXT 20 // every 200ms
|
70 | |
71 | |
72 | volatile uint8_t key_state; |
73 | volatile uint8_t key_press; |
74 | volatile uint8_t key_rpt; |
75 | |
76 | // LED Ports auf HIGH setzen
|
77 | port_led.OUT |= (1<<pin_leddualgruen) | (1<<pin_leddualrot); // 2 Farb LED |
78 | port_led.OUT |= (1<<pin_ledgruen); // LED gruen |
79 | led_pwm = 0; |
80 | |
81 | sei(); |
82 | |
83 | |
84 | |
85 | while(1) |
86 | {
|
87 | if( get_key_short( 1<<KEY1 )) |
88 | |
89 | |
90 | if( get_key_long( 1<<KEY1 )) |
91 | |
92 | |
93 | if( get_key_press( 1<<KEY1 ) || get_key_rpt( 1<<KEY1 )){ |
94 | |
95 | }
|
96 | {
|
97 | |
98 | |
99 | ISR(TCD0_OVF_vect) |
100 | {
|
101 | static uint8_t ct0, ct1, rpt; |
102 | uint8_t i; |
103 | |
104 | TCNT0 = (uint8_t)(int16_t)-(F_CPU / 1024 * 10e-3 + 0.5); // preload for 10ms |
105 | |
106 | i = key_state ^ ~KEY_PIN; // key changed ? |
107 | ct0 = ~( ct0 & i ); // reset or count ct0 |
108 | ct1 = ct0 ^ (ct1 & i); // reset or count ct1 |
109 | i &= ct0 & ct1; // count until roll over ? |
110 | key_state ^= i; // then toggle debounced state |
111 | key_press |= key_state & i; // 0->1: key press detect |
112 | |
113 | if( (key_state & REPEAT_MASK) == 0 ) // check repeat function |
114 | rpt = REPEAT_START; // start delay |
115 | if( --rpt == 0 ){ |
116 | rpt = REPEAT_NEXT; // repeat delay |
117 | key_rpt |= key_state & REPEAT_MASK; |
118 | }
|
:
Bearbeitet durch User
Stefan schrieb: > volatile uint8_t key_press; na also. Das gehört nicht in die main(), sondern global, d.h. davor.
Globale Variablen und Funktionen sollten auch global (außerhalb der main) deklariert werden.
@Stefan (Gast) >Hier der Code stark gekürzt aber die wichtigsten Passagen: Klassischer Tip #1: Kauf dir mal ein C-Grundlagenbuhc und lies es. >int main(void) >{ >//Deklaration der Init Funktionen >void init_cpuClock(void); //stellt Taktfrequenz auf 2MHz Die haben in der Funktion NICHTS zu suchen! >// LED`s >#define led_pwm TCC0.CCA >#define port_led PORTC Ebenso nicht die #define. Die gehören in die .h Headerdateien. >volatile uint8_t key_state; >volatile uint8_t key_press; >volatile uint8_t key_rpt; Ebenso nicht globale Variablen! Die gehören ausserhalb von main() https://www.mikrocontroller.net/articles/FAQ#Ich_hab_da_mehrere_.2A.c_und_.2A.h_Dateien._Was_mache_ich_damit.3F
Vielen Dank für die rasche Hilfe! Leider ist die C Vorlesung in der Uni schon eine Zeit her. :-)
Und ordentliches Einrücken ist kein Luxus, sondern eine vitale Hilfe. Dann passiert es dir auch nicht, dass du etwas für eine globale Variable hältst, was in Wirklichkeit eine lokale Variable von main() ist. Es ist meiner Meinung nach kein Zufall, dass diejenigen mit dem schlampigst geschriebenem Code auch immer diejenigen mit den dümmsten Fehlern sind.
:
Bearbeitet durch User
Ich finde es sehr schade, dass es in diesem Forum nicht möglich ist höflich eine Frage zu stellen und einfach eine nette Antwort darauf zu bekommen. In 90% der Fälle antworten Menschen die einem in irgendeiner Hinsicht mit ihren Ansichten belehren oder beschimpfen wollen. (Denke aus Langeweile oder Selbstverherrlichung) Anstatt einfach höflich auf die Frage zu antworten. Leider bin ich nicht wie ihr mit allwissender Weißheit vom Himmel gefallen. Danke an alle die normal und hilfreich antworten. Ihr habt mir schon oft gut weiter geholfen.
Stefan schrieb: > Ich finde es sehr schade, dass es in diesem Forum nicht möglich ist > höflich eine Frage zu stellen und einfach eine nette Antwort darauf zu > bekommen. Du hast ziemlich sachliche Antworten bekommen, die allesamt sachdienlich waren. Karl Heinz, der sonst eine Engelsgeduld an den Tag legt, hat anscheinend einfach keine Lust mehr, ständig und immer wieder die banalsten Grundlagen wiederzukäuen, die in jedem, aber auch wirklich jedem C-Buch enthalten sind, und die man sich anlesen muss, wenn man mit der Sprache arbeiten will. Und das hat er verhältnismäßig milde formuliert. Wenn Du Dich mit der Formulierung "schlampig geschriebener Code" ungerecht behandelt fühlst -- das ist schlampig geschriebener Code, da beißt die Maus keinen Faden ab. Da hat Karl Heinz einfach nur recht. Was erwartest Du? Sollen wir Dich anlügen und schreiben, daß das aber schon ein ganz tolles Programm mit einem ganz tollen Programmierstil ist, aber leider leider die Compiler so doof sind, daß sie nicht verstehen, was Du meinst? Das bringts doch nicht. Und auch Karl Heinz hat vor der Kritik einen hilfreichen Hinweis angebracht. Also: Was Dich da piekst, bist Du selbst.
Stefan schrieb: > Ich finde es sehr schade, dass es in diesem Forum nicht möglich ist > höflich eine Frage zu stellen und einfach eine nette Antwort darauf zu > bekommen. Ich finde es sehr schade, dass viele zwar programmieren wollen, aber noch nicht einmal über rudimentäre Kentnisse ihrer Programmiersprache verfügen. Etwas, das mit einem Lehrbuch und etwas Übung überhaupt kein Problem darstellt. Schliesslich haben es die Regulars auch so gelernt. Frag dich mal selbst: würdest du auch so denken, wenn es sich um ein Problem im Strassenverkehr handelt und dein Gegenüber keine AHnung von den grundlegensten Verkehrsregeln hat? Was würdest du sagen, wenn ein Autfahrer einfach einen Fussgänger auf dem Zebrastreifen niedermäht und sich hinterher damit 'entschuldigt', dass er ja nicht gewusst hätte, was diese seltsamen Streifen auf der Strasse für eine Bedeutung haben? Und ausserdem hätte er wegen dem ganzen Müll hinter dem Lenkrad die Streifen sowieso nicht sehen können. Würdest du dann auch denken, dass es nicht besonders zielführend ist ihm nahezulegen, dass der Berg Mc-Donalds Schachteln nichts auf der Ablage vor dem Lenkrad verloren haben und er gefälligst für freie Sicht sorgen soll?
:
Bearbeitet durch User
Stefan schrieb: > while(1) > { > if( get_key_short( 1<<KEY1 )) > > > if( get_key_long( 1<<KEY1 )) > > > if( get_key_press( 1<<KEY1 ) || get_key_rpt( 1<<KEY1 )){ > > } Das macht ziemlich wahrscheinlich auch nicht, was du erwartest.
@Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite >Karl Heinz, der sonst eine Engelsgeduld an den Tag legt, hat anscheinend >einfach keine Lust mehr, ständig und immer wieder die banalsten >Grundlagen wiederzukäuen, die in jedem, aber auch wirklich jedem >C-Buch enthalten sind, und die man sich anlesen muss, wenn man mit der >Sprache arbeiten will. Wird auch Zeit. Weisheit des Alters? >Wenn Du Dich mit der Formulierung "schlampig geschriebener Code" >ungerecht behandelt fühlst -- das ist schlampig geschriebener Code, da >beißt die Maus keinen Faden ab. Da hat Karl Heinz einfach nur recht. tststststs, das ist aber nicht kuschel-pädagogisch wertvoll! JEDER Mensch ist toll, geradeheraus ein Genie, man muss das nur richtig darstellen! >Was erwartest Du? Sollen wir Dich anlügen und schreiben, daß das aber >schon ein ganz tolles Programm mit einem ganz tollen Programmierstil >ist, aber leider leider die Compiler so doof sind, daß sie nicht >verstehen, was Du meinst? Wie wäre es mit "Lieber Fragesteller, du hast eine sehr interessante, neue Syntax gefunden, über die wir unbedingt einmal sprechen müsssen. Leider sind die heute verfügbaren Kompiler aus der Steinzeit und nicht offen für ein neues, tolerantes Weltbild der C-Programmierung. Aber lass dich nicht beirren, eines Tages werden diese Primitivwerkzeuge dich nicht mehr in der Auslebung deiner individuellen Persönlichkeit einschränken." ;-) >Das bringts doch nicht. >Und auch Karl Heinz hat vor der Kritik einen hilfreichen Hinweis >angebracht. >Also: Was Dich da piekst, bist Du selbst. Nö, der Zeitgeist, der sachliche Kritik immer mit einem persönlichen Angriff gleichsetzt. Und die Tatsache, dass immer weniger Leute klare Worte verstehen, geschweige denn vertragen. Kuschelsprache rulez!
Falk B. schrieb: > @Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite > >>Karl Heinz, der sonst eine Engelsgeduld an den Tag legt, hat anscheinend >>einfach keine Lust mehr, ständig und immer wieder die banalsten >>Grundlagen wiederzukäuen, die in jedem, aber auch wirklich jedem >>C-Buch enthalten sind, und die man sich anlesen muss, wenn man mit der >>Sprache arbeiten will. > > Wird auch Zeit. Weisheit des Alters? :-) Resignation vor der Realität.
>Du hast ziemlich sachliche Antworten bekommen, die allesamt >sachdienlich waren. Stimmt größtenteils >Karl Heinz, der sonst eine Engelsgeduld an den Tag legt, hat anscheinend >einfach keine Lust mehr, ständig und immer wieder die banalsten >Grundlagen wiederzukäuen, Es ist nicht seine Pflicht mir zu antworten wenn er keine Lust hat. >Was erwartest Du? Sollen wir Dich anlügen und schreiben, daß das aber >schon ein ganz tolles Programm mit einem ganz tollen Programmierstil >ist, aber leider leider die Compiler so doof sind, daß sie nicht >verstehen, was Du meinst? Ich erwarte garnichts, ich hoffe das mir jemand meine Frage beantworten kann. Nicht mehr und nicht weniger. Veileicht fang ich am besten mal damit an ein Buch zu lesen wie man eine PC-Maus richtig hält bevor ich hier etwas frage. Nicht das ich jemandem auf den Zeiger geh. >Frag dich mal selbst: würdest du auch so denken, wenn es sich um ein >Problem im Strassenverkehr handelt und dein Gegenüber keine AHnung von >den grundlegensten Verkehrsregeln hat? Was würdest du sagen, wenn ein >Autfahrer einfach einen Fussgänger auf dem Zebrastreifen niedermäht und >sich hinterher damit 'entschuldigt', dass er ja nicht gewusst hätte, was >diese seltsamen Streifen auf der Strasse für eine Bedeutung haben? Wenn mich jemand fragen würde wie eine Ampel funktioniert würde ich es ihm erklären und ihm nicht sagen er solle sich erstmal anschauen wie ein Auto funktioniert. Und wenn ich dazu keine Lust hätte würde ich es bleiben lassen und ihm nicht erklären das er die dümmstem Fragen stellt
Stefan schrieb: > Ich erwarte garnichts, ich hoffe das mir jemand meine Frage beantworten > kann. Bis zu Deinem #Aufschrei hat jeder hier Deine Frage beantwortet. Auch Karl Heinz. Du solltest dringend an Deiner Kritikfähigkeit arbeiten.
xXx schrieb: > Das macht ziemlich wahrscheinlich auch nicht, was du erwartest. Und zuerst mal stellt sich die Frage, wie überhaupt ein Mensch diese 4 unterschiedlichen Ereignisse in 4 verschiedene Drückverhalten des selben Tasters codieren soll. Mehr als 2 Drückverhalten je Taste sind nicht ergonomisch.
Und für die netten Komentare kann ich nur erneut sagen: >Ich finde es sehr schade, dass es in diesem Forum nicht möglich ist >höflich eine Frage zu stellen und einfach eine nette Antwort darauf zu >bekommen. >In 90% der Fälle antworten Menschen die einem in irgendeiner Hinsicht >mit ihren Ansichten belehren oder beschimpfen wollen. (Denke aus >Langeweile oder Selbstverherrlichung) >Anstatt einfach höflich auf die Frage zu antworten. >Leider bin ich nicht wie ihr mit allwissender Weißheit vom Himmel >gefallen. >Danke an alle die normal und hilfreich antworten. Ihr habt mir schon oft >gut weiter geholfen.
Stefan schrieb: > Wenn mich jemand fragen würde wie eine Ampel funktioniert würde ich es > ihm erklären und ihm nicht sagen er solle sich erstmal anschauen wie ein > Auto funktioniert. Von 'Auto funktionier' war keine Rede. Die Rede ist davon (um dein Beispiel aufzugreifen), dass du mit einem anderen Autofahrer an einer Kreuzung zusammen gestossen bist, dem du erklären musst, welche Bedeutung die Ampelfarben haben. Sorry. Zu diesem Zeitpunkt ist das dann schon ein bisschen spät. Wir reden nicht von einer Situation in der Verkehrserziehung, sondern vom täglichen Leben. Und da würde ich, und der Gesetzgeber sieht das genauso, eigentlich schon erwaren, dass ein aktiver Teilnehmer am motorisierten Strassenverkehr die Bedeutung der Ampelfarben kennt. Und wenn nicht, dann soll er zuerst in eine Fahrschule gehen! Und ja. Das darf man ihm auch genau so sagen.
:
Bearbeitet durch User
Und um das klar zu stellen. Ich erachte den Hinweis, dass ein ordentlich formatiertes Programm viele Probleme zu vermeiden hilft, durchaus als einen brauchbaren Hinweis. Oft genug erlebt. Da hat ein Neuling ein Problem, dem er selbst nicht auf die Spur kommt. Dann siehst du dir den COde an und das erste was du als Helfer machst, das ist erst einmal für eine ordentliche Formatierung (Einrückung) zu sorgen. Und plötzlich sieht derjenige das Problem ganz von sich aus. Der einzige Unterschied: vorher war der Code Kraut und Rüben, nachher war er ordentlich und konsistent formatiert und eingerückt.
:
Bearbeitet durch User
>Sorry. Zu diesem Zeitpunkt ist das dann schon ein bisschen spät. Wir >reden nicht von einer Situation in der Verkehrserziehung, sondern vom >täglichen Leben. Und da würde ich, und der Gesetzgeber sieht das >genauso, eigentlich schon erwaren, dass ein aktiver Teilnehmer am >motorisierten Strassenverkehr die Bedeutung der Ampelfarben kennt. Und >wenn nicht, dann soll er zuerst in eine Fahrschule gehen! Und ja. Das >darf man ihm auch genau so sagen. Hast du deine Texte mal selber gelesen. Bevor wir in einer Diskussion über das Verkehrsrecht enden gebe ich dir lieber Recht damit du beruhigt aufhören kannst. >Und ordentliches Einrücken ist kein Luxus, sondern eine vitale Hilfe. >Es ist meiner Meinung nach kein Zufall, dass diejenigen mit dem >schlampigst geschriebenem Code auch immer diejenigen mit den dümmsten >Fehlern sind. Ich werde an der Stelle aus der Diskussion aussteigen und meine Fragen wieder an Professoren an der Uni stellen. Habe meine Erfahrung mit Forenbeiträgen von Menschen die im richtigen Leben zu wenig Ansprache haben gemacht und bereut. Ich möchte nochmal betonen das mir durchaus einige hier sehr geholfen haben! Leider übertönt vom Geräusch der dummen.
Stefan schrieb: > Leider übertönt vom Geräusch der dummen. Es tut mir leid - aber Dir kann Dir hier eindeutig nicht zugestimmt werden.
@ Rufus Τ. Firefly >Es tut mir leid - aber Dir kann Dir hier eindeutig nicht zugestimmt >werden. Ich denke das Problem ist das hier die Frage, "Warum bekomme ich diese Fehlermeldung, obwohl ich es deklariert habe?", von vielen als, "Hier ist mein Code ich würde euch bitten mir zu sagen was schlecht geschreiben ist und was mann vieleicht besser oder schöner machen könnte", verstanden wird. Ich denke daher kommt der ganze geistige Aufruhr.
Stefan schrieb: > "Warum bekomme ich diese Fehlermeldung, obwohl ich es deklariert habe?", > > von vielen als, > > "Hier ist mein Code ich würde euch bitten mir zu sagen was schlecht > geschreiben ist und was mann vieleicht besser oder schöner machen > könnte", > > verstanden wird. Nein, wird es nicht. Wenn der Fehler so aussieht
1 | int main() |
2 | {
|
3 | int i; |
4 | |
5 | while( irgendwas ) |
6 | {
|
7 | }
|
8 | }
|
9 | |
10 | void foo() |
11 | {
|
12 | i = 5; |
13 | }
|
und du genau diese Fehlermeldung kriegst, dann ist das Problem nicht, dass man dir in einer 5 seitigen Abhandlung erzählen muss, wie sich die Sache mit dem Scope in C verhält, sondern dass du mit einer vernünftigen Formatierung
1 | int main() |
2 | {
|
3 | int i; |
4 | |
5 | while( irgendwas ) |
6 | {
|
7 | }
|
8 | }
|
9 | |
10 | void foo() |
11 | {
|
12 | i = 5; |
13 | }
|
und Rückverfolgung der Klammern ausgehend von der Stelle der FEhlermeldung nach aussen ganz von alleine siehst, dass foo das i gar nicht sehen kann, weil du dazu in main wieder in eine Klammer hineingehen müsstest, was nicht das ist, wie die C Regeln funktionieren. Der Sichtbarkeitsbereich einer Variablen ist immer der umschliessende Block. Ausserhalb dieses Blocks existiert die Variable nicht. Und jetzt gibt es da dann noch ein paar Sonderfälle, die dann eben eine 5 seitige Abhandlung erfordern würden - die man sich aber auch sparen kann, weil die wirklich in jedem noch so grindigem C-Buch beschrieben sind. Für einen Neuling reicht es aber schon, wenn man einfach nur klar macht, dass er einfach nur die {} Blockklammern von der Problemstelle 'nach aussen' rückverfolgen muss und in diesem Zuge muss er auf die Variable stossen können. Nur, wie machst du das denn, wenn du dauernd rauf und runter scrollen musst und mit den Fingern mitzählen musst, damit du die relevanten { } Klammern überhaupt erst mal findest? Was bei meinem Trivialbeispiel noch im Kopf machbar ist, das artet ganz schnell zu einem Albtraum aus, wenn der Code etwas größer wird. Formatierung und Einrückung ist eine Hilfe, die dir selbst Dinge klar macht und auch optisch anzeigt und nicht einfach nur Selbstzweck.
:
Bearbeitet durch User
Karl H. schrieb: > Es ist meiner Meinung nach kein Zufall, dass diejenigen mit dem > schlampigst geschriebenem Code auch immer diejenigen mit den dümmsten > Fehlern sind. Da kann ich Dir nur beipflichten. Ist ja auch logisch: Wer schon bei der Formatierung (auch wenns nur eine "technische" Sache ist) keine Sorgfalt anlegt, machts erst recht nicht bei der Programmlogik. Fazit: Hingerotztes Programm = Schlechtes Programm. (Ausnahmen bestätigen die Regel, aber wenn, gibt es da nur ganz wenige) P.S. Am besten ist das da:
1 | int main(void) |
2 | {
|
3 | [...]
|
4 | {
|
5 | |
6 | ISR(TCD0_OVF_vect) |
7 | {
|
8 | [...]
|
9 | }
|
Selbst über diese Handvoll Zeilen muss man schon viermal drüberschauen, um den Fehler zu sehen. Ungekürzt jedoch ist es der Horror.
:
Bearbeitet durch Moderator
I geh jetzt aufd Wiesn. Würd euch auch mal frische Luft empfehlen bei teils über 54000 Forenbeiträgen laut euren Profilen. Das sind in 10 Jahren über 10 am Tag XD. Ich glaub das ist nicht mehr gesund. Viel Spaß noch!
Stefan schrieb: > Ich denke das Problem ist das hier die Frage, > > "Warum bekomme ich diese Fehlermeldung, obwohl ich es deklariert habe?", > > von vielen als, > > "Hier ist mein Code ich würde euch bitten mir zu sagen was schlecht > geschreiben ist und was mann vieleicht besser oder schöner machen > könnte", > > verstanden wird. > > Ich denke daher kommt der ganze geistige Aufruhr. Junger Freund, wenn ich so lese, woran Du Dich hier stößt, fürchte ich, Du bist zu empfindlich für eine Ingenieurslaufbahn. In Deinem eigenen Interesse würde ich Dir raten, Deinen Standünkt zu überdenken - beileibe nicht nur zum Thema C!
Stefan schrieb: > I geh jetzt aufd Wiesn. > Würd euch auch mal frische Luft empfehlen bei teils über 54000 > Forenbeiträgen laut euren Profilen. > Das sind in 10 Jahren über 10 am Tag XD. > > Ich glaub das ist nicht mehr gesund. > > Viel Spaß noch! Mit der Antwort bestätigst du bloß die Meinung der anderen User. Aber auch dir vielen Spass an der frischen Luft, wird vielleicht auch dir gut tun. Und benutz doch dieses Forum bitte nicht mehr wenn du nach ein paar Sätzen Kritik direkt die User beleidigen musst, die dir anfangs noch helfen wollten.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.