Invalid conversion und forbids comparison
-
Die aktuelle Funktion schaut so aus, bringt aber noch nciht ganz das erwünschte ...

std::vector<std::string> split(const std::string& text, char delim) { std::stringstream ss(text); std::vector<std::string> result; while(std::getline(ss, text, delim)) result.push_back(text); return result; }Functions.cpp: In function ‘std::vector<std::basic_string<char> > split(const std::string&, char)’:
Functions.cpp:69:39: error: no matching function for call to ‘getline(std::stringstream&, const std::string&, char&)’
make: *** [Functions.o] Error 1
-
Öh ja. Sorry, da hab ich mich doch glatt vertan. Bau sie so um:
std::vector<std::string> split(const std::string& text, char delim) { std::stringstream ss(text); std::vector<std::string> result; std::string substr; while(std::getline(ss, substr, delim)) result.push_back(substr); return result; }Um nochmal meinen Edit zu wiederholen, falls du ihn überliest: Wenn du MSVC 10 verwendest, ist C++0x von Haus aus aktiviert.
-
314159265358979 schrieb:
Um nochmal meinen Edit zu wiederholen, falls du ihn überliest: Wenn du MSVC 10 verwendest, ist C++0x von Haus aus aktiviert.
Ich hab hier ein Projekt, dass ich mit Linux machen soll...
-
Dann wäre das beim GCC --std=c++0x in der Kommandozeile

-
bluepeople12 schrieb:
314159265358979 schrieb:
Um nochmal meinen Edit zu wiederholen, falls du ihn überliest: Wenn du MSVC 10 verwendest, ist C++0x von Haus aus aktiviert.
Ich hab hier ein Projekt, dass ich mit Linux machen soll...
Alle gängigen Linuxcompiler kennen auch sehr viel von C++11 (tendenziell sogar viel mehr als MSVC). Gib mal -std=c++0x beim compilieren mit an.