Я встретил некоторую проблему относительно auto
спецификатор с использованием C++ 14.Можно ли инициализировать автоматическую переменную с помощью метода auto class?
Я определил класс в заголовочном файле, как показано ниже,
class MiscFeature
{
public:
MiscFeature();
auto getData();
auto setData(int);
private:
int data;
};
Затем вызов метода в главном файле,
int
main(int argc, char** argv)
{
MiscFeature * misc = new MiscFeature();
auto val = misc->getData();
cout<<val<<endl;
val = misc->setData(6);
cout<<val<<endl;
}
Затем компиляции с г ++, я получил следующие ошибки:
test.cpp:21:30: error: use of
auto MiscFeature::getData()
before deduction ofauto
auto val = misc->getData();
Если я определяю аналогичную функцию в основном файле, все в порядке.
Как я могу исправить такую проблему? Или это ограничение?
Показать код! – DeiDei
Возможный дубликат: http://stackoverflow.com/q/42329757 –
Создать [mcve] – user2079303