Я использую std :: unique_ptr в этом фрагменте кода, который компилируется и выполняется так, как я ожидал.
std::stringstream out;
out << std::setw(3) << std::setfill('0') << i;
std::unique_ptr<std::string> s(new std::string(out.str()));
s->insert(s->end()-2, 1, '.');
return std::move(s);
Тем не менее, я получаю сообщения об ошибках из Eclipse CDT.В четвертой строке: метод «вставка» не может быть разрешен, метод «конец» не может быть разрешен.
Ранее я также получал ошибки при появлении имени std :: unique_ptr.Это было решено путем установки символа препроцессора __GXX_EXPERIMENTAL_CXX0X__
и перестройки индекса, как описано в ответе на этот вопрос.
Есть ли способ заставить CDT понять, что sтипа std :: string * и что он должен искать в std :: string для s-> insert () и s-> end ()?
PS: я использую Eclipse 3.7.1 и CDT 8.0.0.201106081058
PS2: Мне бы хотелось опубликовать это как комментарий в приведенном выше вопросе, но я не могу, предположительно, потому что я новый пользователь