string output = 0;
Nie wiem co tu chciałeś zrobić. Obawiam się, że 0 zostało skonwertowane na nullptr, przez co wywołałeś taki konstruktor:
basic_string( const CharT* s,
const Allocator& alloc = Allocator() );
w ciele, którego prawdopodobnie jest dereferencja tego const CharT*, któremu przekazałeś nulla.
string output;
Tak to powinno wyglądać.
Niżej robisz coś tak dziwnego, że nawet nie wiem co chciałeś osiągnąć :P