code.thiscall функции могут быть вызваны только в контексте объекта соответствующего типа. Node root(T(), nullptr, nullptr); - у тебя здесь синтаксис неправильный.char способны отображаться только на символы ASCII таблицы (или другой однобайтовой кодировки). Русский язык, резонно, в ASCII не входит. Можно попробовать хранить символы в cp1251 или cp866, но тогда и кодировку вывода консоли тоже надо будет менять под твою кодировку.code. И еще вижу возможную утечку
char *str;
while (!f.eof())
{
char *str=new char[255];
f.getline(str,255);
}
f.close();vir тоже, кстати. У тебя просто память выбрасывается в никуда - утекает.delete[] для str и vir.if (str == vir) {str и vir будут равны nullptr, а этого у тебя в коде нет, значит истинным такое условие не станет никогда.