Rzutowanie vector<string> na vector<double>

0

Ma ktoś pomysł jak skonwertować vector<string> - w której są zapisane liczby, na vector<double>,
Próbowałem czegoś takiego, ale nie działa

 std::vector<double> convertStringVectortoDoubleVector(const std::vector<std::string>& stringVector)
{
std::vector<double> doubleVector(stringVector.size());
std::transform(stringVector.begin(), stringVector.end(), doubleVector.begin(), [](const std::string& val)
                 {
                     return stod(val);
                 });
return doubleVector;
} 
1

mozesz uzyc std::stod

http://ideone.com/A0auq4

#include <iostream>
#include <vector>
#include <string>
using namespace std;
 
int main() {
	vector<string> vecString;
	vecString.push_back("0");
	vecString.push_back("1");
	vecString.push_back("2");
	vecString.push_back("3");
 
	vector<int> vecInt;
	for (auto var : vecString)
	{
		vecInt.push_back(std::stod(var));
	}
 
	for (auto var : vecInt)
	{
		cout << var;
	}
	return 0;
} 

jezeli chcesz uzyc transform to tutaj masz
http://stackoverflow.com/questions/15619696/convert-vectorstring-to-vectorint-c-win32
(druga odpowiedz)

1

a ja nie rozumiem co ci nie działa: http://ideone.com/ElFUEF


ok teraz po komentarzach z postu wyżej widzę, że problemem były ustawienia projektu Qt (ustawienia kompilatora).
0

std::transform z std::stod

1 użytkowników online, w tym zalogowanych: 0, gości: 1