Ответ на первый вопрос:
error C2061: syntax error : identifier 'string'
Вам необходимо включить заголовочный файл string
в заголовочный файл или исходный файл, в котором вы объявляете функцию, например:
#include <string>
&
The namespace std
; должны быть включены в ваш исходный файл
как:
using namespace std;
Или
В качестве альтернативы вы должны использовать:
std::string
Ответ на второй вопрос:
istream::getline()
- функция класса istream
со следующими перегруженными версиями:
istream& getline (char* s, streamsize n );
istream& getline (char* s, streamsize n, char delim );
Очевидно, что он не понимает ваш определенный тип LPTSTR
, поэтому он сообщает, что нет соответствующего вызова функции, который принимает LPTSTR
в качестве аргумента.
Как решить?
В комментариях @Cody Grey объясняется реальная проблема, и ее решение, конечно же, предлагается преобразовать LPTSTR
в формат, чтобы он соответствовал параметру istream::getline()
, что, в сущности, означает преобразование строки, имеющейся в wchar_t*
. char*
с помощью wcstombs ()