Language: C++

#include <bits/stdc++.h>
using namespace std;

int main() {
 int h,w;
  cin>>h>>w;
  vector<string> s(h);
  for(string &x: s) cin>>x;
  vector<int> dx={1,1,1,0,0,-1,-1,-1};
  vector<int> dy={1,0,-1,1,-1,1,0,-1};
  for(int x=0;x<w;x++){
    for(int y=0;y<h;y++){
      if(s[y][x]=='.'){
     	 for(int i=0;i<8;i++){
       	 int X=x+dx[i];
       	 int Y=y+dy[i];
        	int count=0;
       	 if(X>=0&&X<w&&Y>=0&&Y<h&&s[Y][X]=='#') count++;
         }
        char S=to_string(count);
        s[y][x]=S;
      }
    }
  }
}

Compiler output:
a.cc: In function 'int main()':
a.cc:20:25: error: no matching function for call to 'to_string(<unresolved overloaded function type>)'
   20 |         char S=to_string(count);
      |                ~~~~~~~~~^~~~~~~
In file included from /usr/include/c++/14/string:54,
                 from /usr/include/c++/14/bitset:52,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/stdc++.h:52,
                 from a.cc:1:
/usr/include/c++/14/bits/basic_string.h:4240:3: note: candidate: 'std::string std::__cxx11::to_string(int)'
 4240 |   to_string(int __val)
      |   ^~~~~~~~~
/usr/include/c++/14/bits/basic_string.h:4240:17: note:   no known conversion for argument 1 from '<unresolved overloaded function type>' to 'int'
 4240 |   to_string(int __val)
      |             ~~~~^~~~~
/usr/include/c++/14/bits/basic_string.h:4259:3: note: candidate: 'std::string std::__cxx11::to_string(unsigned int)'
 4259 |   to_string(unsigned __val)
      |   ^~~~~~~~~
/usr/include/c++/14/bits/basic_string.h:4259:22: note:   no known conversion for argument 1 from '<unresolved overloaded function type>' to 'unsigned int'
 4259 |   to_string(unsigned __val)
      |             ~~~~~~~~~^~~~~
/usr/include/c++/14/bits/basic_string.h:4275:3: note: candidate: 'std::string std::__cxx11::to_string(long int)'
 4275 |   to_string(long __val)
      |   ^~~~~~~~~
/usr/include/c++/14/bits/basic_string.h:4275:18: note:   no known conversion for argument 1 from '<unresolved overloaded function type>' to 'long int'
 4275 |   to_string(long __val)
      |             ~~~~~^~~~~
/usr/include/c++/14/bits/basic_string.h:4294:3: note: candidate: 'std::string std::__cxx11::to_string(long unsigned int)'
 4294 |   to_string(unsigned long __val)
      |   ^~~~~~~~~
/usr/include/c++/14/bits/basic_string.h:4294:27: note:   no known conversion for argument 1 from '<unresolved overloaded function type>' to 'long unsigned int'
 4294 |   to_string(unsigned long __val)
      |             ~~~~~~~~~~~~~~^~~~~
/usr/include/c++/14/bits/basic_string.h:4310:3: note: candidate: 'std::string std::__cxx11::to_string(long long int)'
 4310 |   to_string(long long __val)
      |   ^~~~~~~~~
/usr/include/c++/14/bits/basic_string.h:4310:23: note:   no known conversion for argument 1 from '<unresolved overloaded function type>' to 'long long int'
 4310 |   to_string(long long __val)
      |             ~~~~~~~~~~^~~~~
/usr/include/c++/14/bits/basic_string.h:4327:3: note: candidate: 'std::string std::__cxx11::to_string(long long unsigned int)'
 4327 |   to_string(unsigned long long __val)
      |   ^~~~~~~~~
/usr/include/c++/14/bits/basic_string.h:4327:32: note:   no known conversion for argument 1 from '<unresolved overloaded function type>' to 'long long unsigned int'
 4327 |   to_string(unsigned long long __val)
      |             ~~~~~~~~~~~~~~~~~~~^~~~~
/usr/include/c++/14/bits/basic_string.h:4401:3: note: candidate: 'std::string std::__cxx11::to_string(float)'
 4401 |   to_string(float __val)
      |   ^~~~~~~~~
/usr/include/c++/14/bits/basic_string.h:4401:19: note:   no known conversion for argument 1 from '<unresolved overloaded function type>' to 'float'
 4401 |   to_string(float __val)
      |             ~~~~~~^~~~~
/usr/include/c++/14/bits/basic_string.h:4411:3: note: candidate: 'std::string std::__cxx11::to_string(double)'
 4411 |   to_string(double __val)
      |   ^~~~~~~~~
/usr/include/c++/14/bits/basic_string.h:4411:20: note:   no known conversion for argument 1 from '<unresolved overloaded function type>' to 'double'
 4411 |   to_string(double __val)
      |             ~~~~~~~^~~~~
/usr/include/c++/14/bits/basic_string.h:4421:3: note: candidate: 'std::string std::__cxx11::to_string(long double)'
 4421 |   to_string(long double __val)
      |   ^~~~~~~~~
/usr/include/c++/14/bits/basic_string.h:4421:25: note:   no known conversion for argument 1 from '<unresolved overloaded function type>' to 'long double'
 4421 |   to_string(long double __val)
      |             ~~~~~~~~~~~~^~~~~