string vs funkcja printf()

0
#include <cstdio>
#include <iostream>

using namespace std;

int main()
{
    string imie;
    
    cout << "imie: ";
    cin >> imie;
    
    printf("%s", imie);
}

Wywala błąd: [Error] cannot pass objects of non-trivially-copyable type 'std::string {aka struct std::basic_string<char>}' through '...'

To na pewno trywialny problem, ale jak go nie rozwiążę, to praktycznie nic nie zrobię :) Proszę o pomoc.

0

Po co ci ten printf? Po co mieszasz bibliotekę C++ z C?

printf("%s", imie.c_str());
0

A dlaczego tego napisu nie wyświetlisz poprzez cout, tylko mieszasz C z C++?

0

Dzięki : )

Też wolałbym tej funkcji nie używać, ale na wykładach jest ona dosyć mocno akcentowana, więc, chcąc nie chcąc, muszę się z nią oswoić.

0

tak dla poprawności, to brakuje #include <string>

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