Witaj.
Nie uraź się tonem mojej odpowiedzi, bo chciałbym Ci pomóc, ale... Nie mogę. :)
Mam 2 pytania
Dlaczego ten kod nie działa?
Ja również mam pytanie: dlaczego uważasz, że ten kod nie działa? Zauważ, że nie znam Twojej intencji i nie mam absolutnie nawet bladego pojęcia, co byś chciał uzyskać - mogę jedynie wnioskować z dostarczonego kodu, ale sam twierdzisz, że nie jest on tym, o co Ci chodziło. ;)
Zmienna linia już jest typu std::string i już takiego typu zostanie. Musisz sprecyzować, co chcesz osiągnąć.