Parametrübergabe von zeigern
-
Hallo möchte folgendes machen:
void printParameters(int* a, double* b){
cout << "a: " << *a;
cout << "b: " << *b;
}Wie kann ich den Wert ausgeben, den a und b haben, und zwar nicht den zeiger, sondern den Wert auf den der Zeiger verweist.
Merci
-
genau so, wie du das jetzt machst
wie rufst du denn die fkt bisher auf?
das sollte ja so in etwa aussehen:void printParameters(int* a, double* b){ cout << "a: " << *a; cout << "b: " << *b; } int main() { int a = 123; double b = 23.45; printParameters(&a, &b); }gibts einen bestimmten grund, wieso du pointer nehmen möchtest?
bb
-
Na das eigentliche Problem ist, dass ich die Parameter die ich übergeben bekomme, aus R bekomme.
Und ich dachte ich stelle mich irgendwie zu dumm an um an die Werte die übergeben werden zu kommen. Bei mir ists nämlich so, dass wenn ich von R aus meine Funktion mit einem integer übergebe, eine riesengroße Zahl ausgegebn wird und nicht die, die ich übergebe.
Daher wollte ich mich nur mal absichern. Werde leider aus der Dokumentation von R nicht wirklich schlau und wollte nur mal sicherheitshalber hier nachfragen.bei mir siehts eigentlich so aus:
Funktion in R:
.Call("main", as.integer(2))
und in C++ dann so:
void main(int *wert){
cout << *wert << endl;
}und hier bekomme ich leider nicht den richtigen Wert.
Weiß vielleicht jemand die Antwort???

-
1. bitte benutz doch endlich mal c++ tags (direkt unter den smiles 'C/C++' bzw [cpp] und [/cpp])
2. ich verstehe nicht so richtig, was du hier machen willst
was ist R?
was ist Call für ne Fkt: ".Call("main", as.integer(2))"? hier würde btw wahrscheinlich auch.Call("main", 2)reichen
womit wir gleich beim nächsten problem wären:
entweder, du rufst _die_ main-fkt selber auf (->imho undefiniertes verhalten) oder du hast eine fkt, die du auch main nennst (->schlechte namensgebung)void foo(int *wert){ cout << *wert << endl; }ist an und für sich richtig - hatten wir aber schon mal ;P
bb
-
Ich denke, dass er R, die Programmiersprache meint:
http://de.wikipedia.org/wiki/R_(Programmiersprache)Und so rein intuitiv würde ich mal sagen, dass man da irgend ne Funktion nehmen soll, ausser main.

-
jo das stimmt. ist die Programmiersprache R. Deswegen wahrscheinlich zu speziell hier. Aber hätte ja sein können dass doch jemand die Antwort weiß. Danke auf jeden Fall für die schnellen Antworten