Language: C++

#include <iostream>
#include <string>

int main(void)
{
	int h, w;
	string str;
	while (cin >> h >> w){
		if (h == 0 && w == 0) break;
		for (int i = 0; i < h; i++){
			if (i == 0 || i ==  h-1){
				str = string(w, '#');
			}else{
				str = '#' + string(w-2, '.') + '#';
			}
			cout << str << endl;
		}
		cout << endl;
	}
	return 0;
}

Compiler output:
a.cc: In function 'int main()':
a.cc:7:9: error: 'string' was not declared in this scope
    7 |         string str;
      |         ^~~~~~
a.cc:7:9: note: suggested alternatives:
In file included from /usr/include/c++/14/iosfwd:41,
                 from /usr/include/c++/14/ios:40,
                 from /usr/include/c++/14/ostream:40,
                 from /usr/include/c++/14/iostream:41,
                 from a.cc:1:
/usr/include/c++/14/bits/stringfwd.h:77:33: note:   'std::string'
   77 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
In file included from /usr/include/c++/14/bits/locale_classes.h:40,
                 from /usr/include/c++/14/bits/ios_base.h:41,
                 from /usr/include/c++/14/ios:44:
/usr/include/c++/14/string:76:11: note:   'std::pmr::string'
   76 |     using string    = basic_string<char>;
      |           ^~~~~~
a.cc:8:16: error: 'cin' was not declared in this scope; did you mean 'std::cin'?
    8 |         while (cin >> h >> w){
      |                ^~~
      |                std::cin
/usr/include/c++/14/iostream:62:18: note: 'std::cin' declared here
   62 |   extern istream cin;           ///< Linked to standard input
      |                  ^~~
a.cc:12:33: error: 'str' was not declared in this scope; did you mean 'std'?
   12 |                                 str = string(w, '#');
      |                                 ^~~
      |                                 std
a.cc:14:33: error: 'str' was not declared in this scope; did you mean 'std'?
   14 |                                 str = '#' + string(w-2, '.') + '#';
      |                                 ^~~
      |                                 std
a.cc:16:25: error: 'cout' was not declared in this scope; did you mean 'std::cout'?
   16 |                         cout << str << endl;
      |                         ^~~~
      |                         std::cout
/usr/include/c++/14/iostream:63:18: note: 'std::cout' declared here
   63 |   extern ostream cout;          ///< Linked to standard output
      |                  ^~~~
a.cc:16:33: error: 'str' was not declared in this scope; did you mean 'std'?
   16 |                         cout << str << endl;
      |                                 ^~~
      |                                 std
a.cc:16:40: error: 'endl' was not declared in this scope; did you mean 'std::endl'?
   16 |                         cout << str << endl;
      |                                        ^~~~
      |                                        std::endl
/usr/include/c++/14/ostream:744:5: note: 'std::endl' declared here
  744 |     endl(basic_ostream<_CharT, _Traits>& __os)
      |     ^~~~
a.cc:18:17: error: 'cout' was not declared in this scope; did you mean 'std::cout'?
   18 |                 cout << endl;
      |                 ^~~~
      |                 std::cout
/usr/include/c++/14/iostream:63:18: note: 'std::cout' declared here
   63 |   extern ostream cout;          ///< Linked to standard output
      |                  ^~~~
a.cc:18:25: error: 'endl' was not declared in this scope; did you mean 'std::endl'?
   18 |                 cout << endl;
      |                         ^~~~
      |                         std::endl
/usr/include/c++/14/ostream:744:5: note: 'std::endl' declared here
  744 |     endl(basic_ostream<_CharT, _Traits>& __os)
      |     ^~~~