Меня смущает следующий фрагмент кода:
#include <iostream>
using namespace std;
int *foo()
{
//Operation
}
int main ()
{
auto int ret = foo();
}
Я скомпилировал вышеуказанный код под GCC, но получил следующую ошибку:
error: two or more data types in declaration of 'ret'
auto int ret = foo();
Но, если я удаляю тип int
, например:
auto ret = foo();
то он успешно выполняется.
auto
является классом хранения и int
является типом данных, а затем , почему я получаю ошибку "два или более типов данных", в первом случае?