& # 39; & # авто 39; не допускается в прототипе функции с Clang

db.coll.find().forEach(function(data) {
    db.coll.update({_id:data._id},{$set:{myfield:parseInt(data.myfield)}});
})
16
задан Shafik Yaghmour 5 June 2015 в 17:18
поделиться

2 ответа

Вместо этого можно использовать шаблон:

template<class A>
A foo(A bar) { return bar; }

Авто разрешено, только когда компилятор может определить тип из контекста.

3
ответ дан Thomas Sparber 5 June 2015 в 17:18
поделиться

Компилятор не может вывести тип из контекста.

Что не так с выполнением

template<typename Y>
Y foo(Y bar){return bar;}

и нужно ли передавать bar по значению?

В вашем случае вы можете использовать синтаксис трейлинг-возврата: :

auto foo(auto bar) -> decltype(bar)

1
ответ дан Bathsheba 5 June 2015 в 17:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: