Webbi1305 Geschrieben 7. März 2006 Geschrieben 7. März 2006 Hallo, ich habe ein Problem. Erstmal bin absoluter C++ Anfänger und stehe vor folgendem Problem: Ich muss eine Variable mit dem Typ "int" an eine Funktion übergeben die als Variablentyp "int *" hat. Der Compiler meckert logischerweise und ich habe keine Ahnung wie ich da nun vorgehen soll. Quellcodeauszug der relevant ist: XPLMNavRef NavRef1; int inFrequency = XPLMGetDatai(XPLMFindDataRef("sim/cockpit/radios/nav1_freq_hz")); NavRef1 = XPLMFindNavAid(NULL,NULL,NULL,NULL, inFrequency,xplm_Nav_ILS); Würd mich über eine Hilfe freuen und nicht sowas wie:"Lerne erstmal C++ - damit kann ich garnix anfangen... bin dabei es zu lernen, aber solche Probleme müssen auch gelöst werden...." Gruß, Daniel
baba007 Geschrieben 7. März 2006 Geschrieben 7. März 2006 dann mach int deineVar; int *ptr_auf_deineVar; ptr_auf_deineVar = &deineVar; und übergebe ptr_auf_deineVar an die Funktion p.s.: der relevante QCAuszug ist ein Scherz oder ?
Guybrush Threepwood Geschrieben 7. März 2006 Geschrieben 7. März 2006 oder direkt &deineVar übergeben Damit übergibst du nicht einfach den Wert deiner Variablen sondern die Adresse dieser, so dass die Funktion den Inhalt der Variablen ändern kann.
carstenj Geschrieben 7. März 2006 Geschrieben 7. März 2006 Hi, auch wenn du das nicht hören willst, aber bei C und C++ halte ich es für unmöglich, ohne Vorkenntnisse komplexe Programme zu "bearbeiten". Würd mich über eine Hilfe freuen und nicht sowas wie:"Lerne erstmal C++ - damit kann ich garnix anfangen... bin dabei es zu lernen, aber solche Probleme müssen auch gelöst werden...." Abgesehen davon, dass der gepostete Code in keinem Zusammenhang mit deinem Problem steht, solltest du schon wissen was du tust. Denn durch irgendwelches Rumgecaste mag der Code zwar fehlerfrei kompilieren, aber ob er dann auch tatsächlich das tut was du beabsichtigst darf bezweifelt werden.
Guybrush Threepwood Geschrieben 7. März 2006 Geschrieben 7. März 2006 da muss ich carstenj zustimmen. Soweit hatte ich gar nicht gelesen...
Webbi1305 Geschrieben 7. März 2006 Autor Geschrieben 7. März 2006 Danke, das "&" war die Lösung. Nebenbei - den Quellcode habe ich so vom Hersteller der Software übernommen - natürlich habe ich einiges rausgelassen. Schon alleine aus Geheimschutzgründen. Fernerhin ist das nix komplexes und C Kenntnisse sind vorhanden, nur keine C++. Komplexe Programme würde ich auch nicht anpacken - aber da jeder gute Programmierer seine Programme testet, ist dein Satz fehlt am Platz bzgl. richtig compilieren und trotzdem fehlerhaft laufen. Achso - einzig alleine DER Quellcodeauszug steht in relevanz zu meinem Problem - alles andere läuft nämlich. Also vorsicht mit solchen Anschuldigungen - bissel Ahnung habe ich auch. So, fertig danke nochmal für die prompte Lösung
baba007 Geschrieben 7. März 2006 Geschrieben 7. März 2006 Danke, das "&" war die Lösung. Fernerhin ist das nix komplexes und C Kenntnisse sind vorhanden, nur keine C++. Ganz böser Fehler. Das komische "*" und das abermals witzige "&" oder wollen wir mal scherzhafterweise sagen die Pointer und Adressen sind elementare Dinge bei C ...
Guybrush Threepwood Geschrieben 7. März 2006 Geschrieben 7. März 2006 Sorry aber das hat nichts mit C++ zu tun. & ist einfach der Adressoperator und gehört zu den Basics genauso wie man den Unterschied zwischen int und int* kennen sollte...
Webbi1305 Geschrieben 7. März 2006 Autor Geschrieben 7. März 2006 komisch das wir das in 2 Jahren C nie gehabt haben *kopfkratz* ok ich kann kein C und int * - ach lassen wir das. Da fehlt dann wohl doch noch einiges, aber habe in 4 Jahren Berufsschule nie sowas gelernt *kopfkratz* naja, habe dafür in anderen Sprachen meine Vorzüge gefunden - nichts für ungut und sorry dann... kann euch bissel verstehen, war nur etwas angequakt das ihr sowas geschrieben habt, das kam so rüber wie: DU depp da drüben, kennst das netmals...
carstenj Geschrieben 7. März 2006 Geschrieben 7. März 2006 Hi, Achso - einzig alleine DER Quellcodeauszug steht in relevanz zu meinem Problem - alles andere läuft nämlich. nein, war er nicht. Also vorsicht mit solchen Anschuldigungen - bissel Ahnung habe ich auch. Ich auch, aber werds mir merken. DU depp da drüben, kennst das netmals... Naja, sind nunmal elementare Dinge in C, wie auch in C++. Nur solltest du vielleicht gutgemeinte Hinweise auch als solche annehmen und nicht so tun, als wären sie völlig fehl am Platze, denn das waren sie nicht. Und besser du stellst den Fehler fest als dein Chef, oder schlimmer noch, der Kunde, sofern das für einen gemacht wurde.
Webbi1305 Geschrieben 7. März 2006 Autor Geschrieben 7. März 2006 Mir egal, ich weiß das er im Bezug dazu stand, der rest ist mir wurscht. fertig, wenn das weiter eskaliert schließen bitte
Guybrush Threepwood Geschrieben 7. März 2006 Geschrieben 7. März 2006 rofl *das* ist die richtige Einstellung, da wünsch ich dir und deinen Kunden viel Spaß mit deinen weiteren Programmen
Klotzkopp Geschrieben 7. März 2006 Geschrieben 7. März 2006 Da das Problem nun offenbar gelöst ist -> Thread geschlossen.
Empfohlene Beiträge