Definicja nowej zmiennej na podstawie elementu tablicy

0

Dzień dobry,
próbuję wstawić w określone miejsca stringa elementy tablicy za pomocą str.insert. Niestety napotykam dziwny błąd o treści:

std::string *arrayTypes
Error: no suitable counstructor exist to convert from "char" to "std::basic_string<char, std::char_traits<char>, std::allocator<char>>"

Przyznam, że nic z tego nie rozumiem. Zamieszczam fragment kodu:

void fill(int kolumny, int types, string ringeTemplate, string *arrayTypes)
{
	string filledTemplate, line;
	istringstream stream(ringeTemplate); //na potrzebę getline

	for (int i = 0; i < kolumny; i++)
	{
		for (int j = 0; j < types; getline(stream, line))
		{
			filledTemplate = filledTemplate + line + "\n"; //jeżeli nie ma potrzeby wklejania
			if (int pos = line.find(";") != string::npos) //jeżeli znaleziono miejsce, gdzie ma być dodany elem. tablicy
			{
				string data = arrayTypes[i][j]; //tutaj Visual wskazuje błąd
				line.insert(pos - 1, data);
				filledTemplate = filledTemplate + line + arrayTypes[i][j] + ";\t\n";
				j++;
			}
		}
	}
}

zdecydowałem się na wprowadzenie nowej zmiennej "data", ponieważ line.insert miał jakiś z tym problem. Proszę o wskazówki i wskazanie błędu

zamiana znacznika <quote> na <code class="none"> - @furious programming

0

Jeśli arrayTypes to dynamiczna tablica stringów, to arrayTypes[i][j] to jeden znak. Kompilator mówi, że nie umie konwertować jednego znaku na string. Możliwe rozwiązanie: http://www.cplusplus.com/forum/beginner/4967/

Swoją drogą jak już używasz rzeczy typu string i istringstream to dlaczego ohydna tablica dynamiczna string*? Wrzuć to do vector<string>.

0

Dzięki za odpowiedź, niestety problem leżał gdzie indziej: zamiast *arrayTypes, powinienem wpisać **arrayTypes. Może ktoś mi powie dlaczego? Wpadłem na to przypadkiem.

twonek napisał(a):

Swoją drogą jak już używasz rzeczy typu string i istringstream to dlaczego ohydna tablica dynamiczna string*? Wrzuć to do vector<string>.

Nie wiem, dopiero się uczę. Nigdy nie używałem biblioteki vector. Może przy następnym projekcie spróbuję?

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