Wyświetlanie tekstu z funkcji

0

Cześć,
ostatnio natrafiłem na błąd dlaczego coś takiego działa

int _tmain(int argc, _TCHAR* argv[])
{
    cout << "Tekst do wyświetlenia";
    getch();
    return 0;
}

a jak chcę wyświetlić tekst za pomocą funkcji to niedziała

string DisplayText(string text){
    string tmp_text = text;
    cout << tmp_text;
}

int _tmain(int argc, _TCHAR* argv[])
{
    DisplayText("Text");
    getch();
    return 0;
}

i do linii z "cout << tmp_text;" mam komunikat

[bcc32 Error] test.cpp(26): E2094 'operator<<' not implemented in type 'ostream' for arguments of type 'string'
Full parser context
function2_console.cpp(24): parsing: string DisplayText(string)

3

Jeśli to cały kod, to brakuje w nim odpowiednich include'ów (<string>, <iostream>), a także instrukcji return w funkcji.

0

No i powinno byc std::cout

3

na dodatek,

  • w pierwszym przypadku wypisujesz literał, który jest typu const char[], a overload operatora << dla tego typu jest zawsze dostępny.
  • w drugim przypadku wypisujesz zmienną typu std::string, więc to nie jest dokładnie to samo.
  • bcc32 w komunikacie błędu sugeruje, że używasz C++ Builder, który na obecny czasy jest dość archaicznym wyborem. Najprawdopodobniej wybór podyktowany jest przez to, że uczysz się z popularnego i powszechnie krytykowanego kursu programowania C++ od M. Z.

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