Индексирование Eclipse CDT и std :: unique_ptr

Я использую std :: unique_ptr в этом фрагменте кода, который компилируется и выполняется так, как я ожидал.

std::stringstream out;
out << std::setw(3) << std::setfill('0') << i;
std::unique_ptr s(new std::string(out.str()));
s->insert(s->end()-2, 1, '.');
return std::move(s);

Однако я получаю сообщения об ошибках от Eclipse CDT. В четвертой строке: метод 'insert' не может быть разрешен, метод 'end' не может быть разрешен.

Раньше я также получал ошибки при появлении имени std :: unique_ptr. Это было решено путем установки символа препроцессора __ GXX_EXPERIMENTAL_CXX0X __ и перестройки индекса, как описано в ответе на этот вопрос.

Есть ли способ заставить CDT понять, что s имеет тип std :: string * и что он должен искать s-> insert () и s-> end () в std :: string?

PS : Я использую Eclipse 3.7.1 и CDT 8.0.0.201106081058

PS2: Я хотел бы опубликовать это как комментарий к указанному выше вопросу, но я не могу, предположительно потому, что я новый пользователь

8
задан Community 23 May 2017 в 12:21
поделиться