Gcc non mi va

di Anonimizzato28538 il
13 risposte
Ciao.
ho questo sorgente prova.cpp :

#include<iostream>
using namespace std;
int main(){
cin<<"Hello, world!\n"
return 0;
}

quando provo
g++ prova.cpp
e
gcc prova.cpp

nel primo caso mi stampa

prova.cpp: In function ‘int main()’:
prova.cpp:4:5: error: no match for ‘operator<<’ (operand types are ‘std::istream’ {aka ‘std::basic_istream<char>’} and ‘const char [15]’)
cin << "Hello, world!\n"
~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/string:52,
from /usr/include/c++/8/bits/locale_classes.h:40,
from /usr/include/c++/8/bits/ios_base.h:41,
from /usr/include/c++/8/ios:42,
from /usr/include/c++/8/ostream:38,
from /usr/include/c++/8/iostream:39,
from prova.cpp:1:
/usr/include/c++/8/bits/basic_string.h:6323:5: note: candidate: ‘template<class _CharT, class _Traits, class _Alloc> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)’
operator<<(basic_ostream<_CharT, _Traits>& __os,
^~~~~~~~
/usr/include/c++/8/bits/basic_string.h:6323:5: note: template argument deduction/substitution failed:
prova.cpp:4:8: note: ‘std::istream’ {aka ‘std::basic_istream<char>’} is not derived from ‘std::basic_ostream<_CharT, _Traits>’
cin << "Hello, world!\n"
^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/bits/ios_base.h:46,
from /usr/include/c++/8/ios:42,
from /usr/include/c++/8/ostream:38,
from /usr/include/c++/8/iostream:39,
from prova.cpp:1:
/usr/include/c++/8/system_error:217:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::error_code&)’
operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e)
^~~~~~~~
/usr/include/c++/8/system_error:217:5: note: template argument deduction/substitution failed:
prova.cpp:4:8: note: ‘std::istream’ {aka ‘std::basic_istream<char>’} is not derived from ‘std::basic_ostream<_CharT, _Traits>’
cin << "Hello, world!\n"
^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/iostream:39,
from prova.cpp:1:
/usr/include/c++/8/ostream:497:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, _CharT)’
operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c)
^~~~~~~~
/usr/include/c++/8/ostream:497:5: note: template argument deduction/substitution failed:
prova.cpp:4:8: note: ‘std::istream’ {aka ‘std::basic_istream<char>’} is not derived from ‘std::basic_ostream<_CharT, _Traits>’
cin << "Hello, world!\n"
^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/iostream:39,
from prova.cpp:1:
/usr/include/c++/8/ostream:502:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, char)’
operator<<(basic_ostream<_CharT, _Traits>& __out, char __c)
^~~~~~~~
/usr/include/c++/8/ostream:502:5: note: template argument deduction/substitution failed:
prova.cpp:4:8: note: ‘std::istream’ {aka ‘std::basic_istream<char>’} is not derived from ‘std::basic_ostream<_CharT, _Traits>’
cin << "Hello, world!\n"
^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/iostream:39,
from prova.cpp:1:
/usr/include/c++/8/ostream:508:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, char)’
operator<<(basic_ostream<char, _Traits>& __out, char __c)
^~~~~~~~
/usr/include/c++/8/ostream:508:5: note: template argument deduction/substitution failed:
prova.cpp:4:8: note: ‘std::istream’ {aka ‘std::basic_istream<char>’} is not derived from ‘std::basic_ostream<char, _Traits>’
cin << "Hello, world!\n"
^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/iostream:39,
from prova.cpp:1:
/usr/include/c++/8/ostream:514:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, signed char)’
operator<<(basic_ostream<char, _Traits>& __out, signed char __c)
^~~~~~~~
/usr/include/c++/8/ostream:514:5: note: template argument deduction/substitution failed:
prova.cpp:4:8: note: ‘std::istream’ {aka ‘std::basic_istream<char>’} is not derived from ‘std::basic_ostream<char, _Traits>’
cin << "Hello, world!\n"
^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/iostream:39,
from prova.cpp:1:
/usr/include/c++/8/ostream:519:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, unsigned char)’
operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c)
^~~~~~~~
/usr/include/c++/8/ostream:519:5: note: template argument deduction/substitution failed:
prova.cpp:4:8: note: ‘std::istream’ {aka ‘std::basic_istream<char>’} is not derived from ‘std::basic_ostream<char, _Traits>’
cin << "Hello, world!\n"
^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/iostream:39,
from prova.cpp:1:
/usr/include/c++/8/ostream:539:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const _CharT*)’
operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s)
^~~~~~~~
/usr/include/c++/8/ostream:539:5: note: template argument deduction/substitution failed:
prova.cpp:4:8: note: ‘std::istream’ {aka ‘std::basic_istream<char>’} is not derived from ‘std::basic_ostream<_CharT, _Traits>’
cin << "Hello, world!\n"
^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/ostream:693,
from /usr/include/c++/8/iostream:39,
from prova.cpp:1:
/usr/include/c++/8/bits/ostream.tcc:321:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const char*)’
operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s)
^~~~~~~~
/usr/include/c++/8/bits/ostream.tcc:321:5: note: template argument deduction/substitution failed:
prova.cpp:4:8: note: ‘std::istream’ {aka ‘std::basic_istream<char>’} is not derived from ‘std::basic_ostream<_CharT, _Traits>’
cin << "Hello, world!\n"
^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/iostream:39,
from prova.cpp:1:
/usr/include/c++/8/ostream:556:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const char*)’
operator<<(basic_ostream<char, _Traits>& __out, const char* __s)
^~~~~~~~
/usr/include/c++/8/ostream:556:5: note: template argument deduction/substitution failed:
prova.cpp:4:8: note: ‘std::istream’ {aka ‘std::basic_istream<char>’} is not derived from ‘std::basic_ostream<char, _Traits>’
cin << "Hello, world!\n"
^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/iostream:39,
from prova.cpp:1:
/usr/include/c++/8/ostream:569:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const signed char*)’
operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s)
^~~~~~~~
/usr/include/c++/8/ostream:569:5: note: template argument deduction/substitution failed:
prova.cpp:4:8: note: ‘std::istream’ {aka ‘std::basic_istream<char>’} is not derived from ‘std::basic_ostream<char, _Traits>’
cin << "Hello, world!\n"
^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/iostream:39,
from prova.cpp:1:
/usr/include/c++/8/ostream:574:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const unsigned char*)’
operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s)
^~~~~~~~
/usr/include/c++/8/ostream:574:5: note: template argument deduction/substitution failed:
prova.cpp:4:8: note: ‘std::istream’ {aka ‘std::basic_istream<char>’} is not derived from ‘std::basic_ostream<char, _Traits>’
cin << "Hello, world!\n"
^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/iostream:39,
from prova.cpp:1:
/usr/include/c++/8/ostream:682:5: note: candidate: ‘template<class _Ostream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_ostream<_Ostream>, std::__is_insertable<typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type, const _Tp&, void> >::value, typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type>::type std::operator<<(_Ostream&&, const _Tp&)’
operator<<(_Ostream&& __os, const _Tp& __x)
^~~~~~~~
/usr/include/c++/8/ostream:682:5: note: template argument deduction/substitution failed:
/usr/include/c++/8/ostream: In substitution of ‘template<class _Ostream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_ostream<_Ostream>, std::__is_insertable<typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type, const _Tp&, void> >::value, typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type>::type std::operator<<(_Ostream&&, const _Tp&) [with _Ostream = std::basic_istream<char>&; _Tp = char [15]]’:
prova.cpp:4:8: required from here
/usr/include/c++/8/ostream:682:5: error: no type named ‘type’ in ‘struct std::enable_if<false, void>’

nel secondo caso mi stampa

prova.cpp: In function ‘int main()’:
prova.cpp:4:5: error: no match for ‘operator<<’ (operand types are ‘std::istream’ {aka ‘std::basic_istream<char>’} and ‘const char [15]’)
cin << "Hello, world!\n"
~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/string:52,
from /usr/include/c++/8/bits/locale_classes.h:40,
from /usr/include/c++/8/bits/ios_base.h:41,
from /usr/include/c++/8/ios:42,
from /usr/include/c++/8/ostream:38,
from /usr/include/c++/8/iostream:39,
from prova.cpp:1:
/usr/include/c++/8/bits/basic_string.h:6323:5: note: candidate: ‘template<class _CharT, class _Traits, class _Alloc> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)’
operator<<(basic_ostream<_CharT, _Traits>& __os,
^~~~~~~~
/usr/include/c++/8/bits/basic_string.h:6323:5: note: template argument deduction/substitution failed:
prova.cpp:4:8: note: ‘std::istream’ {aka ‘std::basic_istream<char>’} is not derived from ‘std::basic_ostream<_CharT, _Traits>’
cin << "Hello, world!\n"
^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/bits/ios_base.h:46,
from /usr/include/c++/8/ios:42,
from /usr/include/c++/8/ostream:38,
from /usr/include/c++/8/iostream:39,
from prova.cpp:1:
/usr/include/c++/8/system_error:217:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::error_code&)’
operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e)
^~~~~~~~
/usr/include/c++/8/system_error:217:5: note: template argument deduction/substitution failed:
prova.cpp:4:8: note: ‘std::istream’ {aka ‘std::basic_istream<char>’} is not derived from ‘std::basic_ostream<_CharT, _Traits>’
cin << "Hello, world!\n"
^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/iostream:39,
from prova.cpp:1:
/usr/include/c++/8/ostream:497:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, _CharT)’
operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c)
^~~~~~~~
/usr/include/c++/8/ostream:497:5: note: template argument deduction/substitution failed:
prova.cpp:4:8: note: ‘std::istream’ {aka ‘std::basic_istream<char>’} is not derived from ‘std::basic_ostream<_CharT, _Traits>’
cin << "Hello, world!\n"
^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/iostream:39,
from prova.cpp:1:
/usr/include/c++/8/ostream:502:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, char)’
operator<<(basic_ostream<_CharT, _Traits>& __out, char __c)
^~~~~~~~
/usr/include/c++/8/ostream:502:5: note: template argument deduction/substitution failed:
prova.cpp:4:8: note: ‘std::istream’ {aka ‘std::basic_istream<char>’} is not derived from ‘std::basic_ostream<_CharT, _Traits>’
cin << "Hello, world!\n"
^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/iostream:39,
from prova.cpp:1:
/usr/include/c++/8/ostream:508:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, char)’
operator<<(basic_ostream<char, _Traits>& __out, char __c)
^~~~~~~~
/usr/include/c++/8/ostream:508:5: note: template argument deduction/substitution failed:
prova.cpp:4:8: note: ‘std::istream’ {aka ‘std::basic_istream<char>’} is not derived from ‘std::basic_ostream<char, _Traits>’
cin << "Hello, world!\n"
^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/iostream:39,
from prova.cpp:1:
/usr/include/c++/8/ostream:514:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, signed char)’
operator<<(basic_ostream<char, _Traits>& __out, signed char __c)
^~~~~~~~
/usr/include/c++/8/ostream:514:5: note: template argument deduction/substitution failed:
prova.cpp:4:8: note: ‘std::istream’ {aka ‘std::basic_istream<char>’} is not derived from ‘std::basic_ostream<char, _Traits>’
cin << "Hello, world!\n"
^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/iostream:39,
from prova.cpp:1:
/usr/include/c++/8/ostream:519:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, unsigned char)’
operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c)
^~~~~~~~
/usr/include/c++/8/ostream:519:5: note: template argument deduction/substitution failed:
prova.cpp:4:8: note: ‘std::istream’ {aka ‘std::basic_istream<char>’} is not derived from ‘std::basic_ostream<char, _Traits>’
cin << "Hello, world!\n"
^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/iostream:39,
from prova.cpp:1:
/usr/include/c++/8/ostream:539:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const _CharT*)’
operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s)
^~~~~~~~
/usr/include/c++/8/ostream:539:5: note: template argument deduction/substitution failed:
prova.cpp:4:8: note: ‘std::istream’ {aka ‘std::basic_istream<char>’} is not derived from ‘std::basic_ostream<_CharT, _Traits>’
cin << "Hello, world!\n"
^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/ostream:693,
from /usr/include/c++/8/iostream:39,
from prova.cpp:1:
/usr/include/c++/8/bits/ostream.tcc:321:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const char*)’
operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s)
^~~~~~~~
/usr/include/c++/8/bits/ostream.tcc:321:5: note: template argument deduction/substitution failed:
prova.cpp:4:8: note: ‘std::istream’ {aka ‘std::basic_istream<char>’} is not derived from ‘std::basic_ostream<_CharT, _Traits>’
cin << "Hello, world!\n"
^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/iostream:39,
from prova.cpp:1:
/usr/include/c++/8/ostream:556:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const char*)’
operator<<(basic_ostream<char, _Traits>& __out, const char* __s)
^~~~~~~~
/usr/include/c++/8/ostream:556:5: note: template argument deduction/substitution failed:
prova.cpp:4:8: note: ‘std::istream’ {aka ‘std::basic_istream<char>’} is not derived from ‘std::basic_ostream<char, _Traits>’
cin << "Hello, world!\n"
^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/iostream:39,
from prova.cpp:1:
/usr/include/c++/8/ostream:569:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const signed char*)’
operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s)
^~~~~~~~
/usr/include/c++/8/ostream:569:5: note: template argument deduction/substitution failed:
prova.cpp:4:8: note: ‘std::istream’ {aka ‘std::basic_istream<char>’} is not derived from ‘std::basic_ostream<char, _Traits>’
cin << "Hello, world!\n"
^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/iostream:39,
from prova.cpp:1:
/usr/include/c++/8/ostream:574:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const unsigned char*)’
operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s)
^~~~~~~~
/usr/include/c++/8/ostream:574:5: note: template argument deduction/substitution failed:
prova.cpp:4:8: note: ‘std::istream’ {aka ‘std::basic_istream<char>’} is not derived from ‘std::basic_ostream<char, _Traits>’
cin << "Hello, world!\n"
^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/iostream:39,
from prova.cpp:1:
/usr/include/c++/8/ostream:682:5: note: candidate: ‘template<class _Ostream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_ostream<_Ostream>, std::__is_insertable<typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type, const _Tp&, void> >::value, typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type>::type std::operator<<(_Ostream&&, const _Tp&)’
operator<<(_Ostream&& __os, const _Tp& __x)
^~~~~~~~
/usr/include/c++/8/ostream:682:5: note: template argument deduction/substitution failed:
/usr/include/c++/8/ostream: In substitution of ‘template<class _Ostream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_ostream<_Ostream>, std::__is_insertable<typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type, const _Tp&, void> >::value, typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type>::type std::operator<<(_Ostream&&, const _Tp&) [with _Ostream = std::basic_istream<char>&; _Tp = char [15]]’:
prova.cpp:4:8: required from here
/usr/include/c++/8/ostream:682:5: error: no type named ‘type’ in ‘struct std::enable_if<false, void>’


sapete cosa posso fare?
grazie

13 Risposte

  • 
    cout<<"Hello, world!\n";
    
  • Grazie, ora ha funzionato almeno con g++ (gcc continua a lamentarsi)!
    eppure avevo fatto copia e incolla del mega sorgente!
  • Non mi pare possibile che tu abbia fatto copia incolla confondendo cin e cout.
  • Non c'è problema, ho già cambiato tutorial
  • Era un codice di un tutorial? Ma sei sicuro? Mi sa che hai letto male tu ...

    Comunque, lasciateli stare i tutorial, quante vole lo dobbiamo dire?

    Usate i libri.
  • Sì ma non trovo librerie aperte.
    poi questo di adesso ha valutazioni piene di stelle
  • Esistono anche le librerie online eh.

    E poi quale sarebbe questo tutorial che hai usato? Sarei curioso di vedere dove era scritto quello che hai copiato.
  • Ma in quelle non online posso almeno sfogliare!

    Il tutorial di prima già depennato.

    Quello di adesso, al quale il sito che lo collegava dava un sacco di stelle, è www.cplusplus.com
  • Cplusplus va bene ma era interessante capire quale fosse quello di prima ...
  • Per forza gcc si lamenta… ti sembra codice C quello?
  • Salve, ho letto ora.
    ... a parte il codice, ho visto cose agghiaccianti, tipo che per imparare il c++ ci vogliono dieci anni di studio ed esperienza!
    mi sa che mollo in partenza e mi cerco un altro linguaggio!
  • Beh 10 anni è un po' troppo, riesci anche ad imparare quello che ti serve in meno tempo. Ma se vuoi imparare veramente a programmare bene con tutto quello che il C++ mette a disposizione, allora non finisci mai di imparare ...

    E poi, perché ti serve il C++? Te lo sei chiesto? Che devi farci? Sicuramente esiste un linguaggio alternativo ...
  • Un po' per passatempo, finche' dura la clausura, un po' magari per lavoro.
    avevo letto il kernighan, anche se alcune cose non le ricordo,
    avevo saputo che il c++ è un soprainsieme del c, così non buttavo via niente,
    e la maggior parte degli annunci di lavoro sono per c++ e java, c molti di meno.
Devi accedere o registrarti per scrivere nel forum
13 risposte