```
int method1() {
    return 0;
}

decltype(method1) method2() {
    return method1;
}

```

I compile my code,get an error: ‘method2’ declared as function returning a function,
then I change the return type to function pointer,it works,I just want to why it is so.

```
decltype(method1) *method2() {
    return method1;
}

```