>>676
1. <string>はstd::stringを使うためにincludeするものであり、提示されたコード
  では使われていない。よって#include <string>は必要ない。
2. <cstring>は<string.h>をstd名前空間に入れたもので、いわゆる「レガシーCの
  文字列」(char*を利用した文字列)を操作するための関数が宣言されている。
3. 2.と、提示されたコードにおいてレガシーCの文字列関連の関数(strcpy)が
  使われていることから、#include <cstring>とせねばならない。
4. 1.〜3.より、本来は、提示されたコードはstrcpyを使用する部分でコンパイル
  エラーになるのがコンパイラの正しい挙動である。