Language: C++

#include <iostream>
#include <ctype.h>
using namespace std;

int main(){
  string s[4];
  cin >> s[0] >> s[1] >> s[2];
  cout << toupper(s[0]) << toupper(s[1]) << toupper(s[2]);
} 

Compiler output:
a.cc: In function 'int main()':
a.cc:8:18: error: no matching function for call to 'toupper(std::string&)'
    8 |   cout << toupper(s[0]) << toupper(s[1]) << toupper(s[2]);
      |           ~~~~~~~^~~~~~
In file included from /usr/include/c++/14/bits/basic_ios.h:37,
                 from /usr/include/c++/14/ios:46,
                 from /usr/include/c++/14/ostream:40,
                 from /usr/include/c++/14/iostream:41,
                 from a.cc:1:
/usr/include/c++/14/bits/locale_facets.h:2687:5: note: candidate: 'template<class _CharT> _CharT std::toupper(_CharT, const locale&)'
 2687 |     toupper(_CharT __c, const locale& __loc)
      |     ^~~~~~~
/usr/include/c++/14/bits/locale_facets.h:2687:5: note:   candidate expects 2 arguments, 1 provided
In file included from /usr/include/c++/14/cctype:42,
                 from /usr/include/c++/14/bits/localefwd.h:42,
                 from /usr/include/c++/14/ios:43:
/usr/include/ctype.h:125:12: note: candidate: 'int toupper(int)'
  125 | extern int toupper (int __c) __THROW;
      |            ^~~~~~~
/usr/include/ctype.h:125:25: note:   no known conversion for argument 1 from 'std::string' {aka 'std::__cxx11::basic_string<char>'} to 'int'
  125 | extern int toupper (int __c) __THROW;
      |                     ~~~~^~~
a.cc:8:35: error: no matching function for call to 'toupper(std::string&)'
    8 |   cout << toupper(s[0]) << toupper(s[1]) << toupper(s[2]);
      |                            ~~~~~~~^~~~~~
/usr/include/c++/14/bits/locale_facets.h:2687:5: note: candidate: 'template<class _CharT> _CharT std::toupper(_CharT, const locale&)'
 2687 |     toupper(_CharT __c, const locale& __loc)
      |     ^~~~~~~
/usr/include/c++/14/bits/locale_facets.h:2687:5: note:   candidate expects 2 arguments, 1 provided
/usr/include/ctype.h:125:12: note: candidate: 'int toupper(int)'
  125 | extern int toupper (int __c) __THROW;
      |            ^~~~~~~
/usr/include/ctype.h:125:25: note:   no known conversion for argument 1 from 'std::string' {aka 'std::__cxx11::basic_string<char>'} to 'int'
  125 | extern int toupper (int __c) __THROW;
      |                     ~~~~^~~
a.cc:8:52: error: no matching function for call to 'toupper(std::string&)'
    8 |   cout << toupper(s[0]) << toupper(s[1]) << toupper(s[2]);
      |                                             ~~~~~~~^~~~~~
/usr/include/c++/14/bits/locale_facets.h:2687:5: note: candidate: 'template<class _CharT> _CharT std::toupper(_CharT, const locale&)'
 2687 |     toupper(_CharT __c, const locale& __loc)
      |     ^~~~~~~
/usr/include/c++/14/bits/locale_facets.h:2687:5: note:   candidate expects 2 arguments, 1 provided
/usr/include/ctype.h:125:12: note: candidate: 'int toupper(int)'
  125 | extern int toupper (int __c) __THROW;
      |            ^~~~~~~
/usr/include/ctype.h:125:25: note:   no known conversion for argument 1 from 'std::string' {aka 'std::__cxx11::basic_string<char>'} to 'int'
  125 | extern int toupper (int __c) __THROW;
      |                     ~~~~^~~