this zeiger
-
Wie benutzt man Zeiger in c?
Was ist falsch bei diesem Code? Ich bekomme als ausgabe "invalid use of 'this' in non-member function
#include <stdio.h> int a; void test (int a); int main() { test(5); return 0; } void test(int a) { this->a = a; ]
-
Ein C++ Verirrter.
this ist ein reserviertes Schlüsselwort in C++ nicht in C.
Zur Verwendung von Zeigern in C benötigst du kein this.
In C gibt es keine Klassen, woher du "this" wohl kennst.
-
Ich habe früher mit java programmiert.
Kann man kein Variable beim C überladen?
-
halloo schrieb:
Kann man kein Variable beim C überladen?
Was meinst du mit überladen von Variablen? Meinst du, dass du Variablen gleichen Namens in verschachtelten Gültigkeitsbereichen (Scopes) haben darfst? Klar, das geht, die Variable im jeweils tiefsten Scope verdeckt dann die in höheren.
P.S.: Interessanterweise schont dein C-Compiler this aber als Schlüsselwort und seine Bedeutung zu kennen. Vermutlich benutzt du einen C++-Compiler.
-
SeppJ schrieb:
halloo schrieb:
Kann man kein Variable beim C überladen?
Was meinst du mit überladen von Variablen? Meinst du, dass du Variablen gleichen Namens in verschachtelten Gültigkeitsbereichen (Scopes) haben darfst? Klar, das geht, die Variable im jeweils tiefsten Scope verdeckt dann die in höheren.
Ja.
SeppJ schrieb:
P.S.: Interessanterweise schont dein C-Compiler this aber als Schlüsselwort und seine Bedeutung zu kennen. Vermutlich benutzt du einen C++-Compiler.
Ja.
Kann ich nicht zwei überladenen variablen (oder wie es heißt) zueinander zuweisen?
-
In C++:
int a; void test(int a) { ::a = a; }
In C nicht direkt, aber man kann sich da schon helfen. Etwa
int a; void set_a(int x) { a = x; } void test(int a) { set_a(a); }
Natürlich könnte (bzw. sollte) man auch einfach den Namen des Parameters ändern.
Ich fühle mich auch verpflichtet, darauf hinzuweisen, dass die Benutzung globaler Variablen sowohl in C als auch in C++ ausgesprochen schlechter Stil ist. Gewöhn dir das besser gar nicht erst an.