Я пытаюсь запустить счетные элементы элементов в векторном коде, указанном в ответе здесь.
Но я выполняю ошибки компиляции в этой функции:
auto h = [](const std::string* s) {
return std::hash<std::string>()(*s);
};
утверждение Expected expression
вокруг [ ]
. Я знаю, что это связано с компилятором. Я использую Xcode 5.0.2
, поэтому у меня есть возможность изменить компилятор (я думаю).
Затем я получаю еще одну ошибку компиляции в строке:
std::unordered_map<const std::string*, size_t, decltype(h), decltype(eq)> m(v.size(), h, eq);
в заявлении C++ requires a specifier for all declarations
вокруг части m(v.size(), h, eq)
.
Каким компилятором я должен убедиться, что Xcode
компилируется, чтобы заставить этот код работать?
Обновить:
Есть ли определенное имя для этого auto = [ ](...)
которое я мог бы использовать Google?
Знаете ли вы, какой стандарт принимает во внимание?
Попробуйте заставить С++ 11, чтобы покрыть эти lambda
структуры и unordered_map
.