Array per function zurückgeben
-
Ich probiere einen Array über eine function wiederzugeben.
Hier mal der Code:string get_types() { string types[5] = {"Feuer", "Pflanze", "Wasser", "Normal", "Erde"}; return types[5]; } int main() { ... string types[5]; types[5] = get_types(); }
Ich bekomme keine Fehler vom Compiler/Linker, aber wenn ich das Programm starte, bekomme ich eine Speicherverletzung.
Dabei ist doch vom Syntax her alles richtig, ich habe ähnliche Teile an anderen Stellen im Programm...
-
void foo(std::string (&str)[5]) { //... } std::string str[5]; foo(str);
oder
void foo(std::vector<std::string>& v) { v.push_back("string"); //usw } std::vector<std::string> v; foo(v);
-
Danke, dass hat geklappt!