Hvordan kan jeg overføre en char fra en funktion til en anden? char'ens indhold er defineret af brugeren derfor er det ikke sikkert den er lige lang hver gang...//Søren
Mener du en char * (streng) ? En char er altid lige lang.Måske void bar(char **x){ *x = "Whatever";}void foo(void){ char *p; bar(&p); printf("Streng: %s\\n", p);}eller:void a(char *x){ printf("streng: %s\\n", x);}void b(void){ a("Ole Bole\\n");}
#include <iostream.h> char*ord; void funktion1() { ord = "a ad a"; } void funktion2() { cout << "Ord: "<<ord; } int main() { funktion1(); funktion2(); return 0; }
#include <string> #include <iostream> using std::string; using std::cout; using std::endl; void Func2(string &s) { s = "Whatever"; } int main(void) { string MyString; Func2(MyString); cout << MyString << endl; }
Bertel Brander, det var da ikke for genere dig.... men jeg troede ikke det var C++...KOEN hvis jeg gør som du har skrevet får jeg følgende fejl:test.cpp:13: error: ISO C++ forbyder erklæring af 'getname' uden en type//Søren
En løsning der efter min mening er noget kønnere:#include <string>#include <iostream>using namespace std;string Func2(){ string x; getline(cin, x); return x;}int main(void){ string MyString = Func2(); cout << MyString << endl;}