关于#c++#的问题:第5行明明定义了a是一个int类型,但返回值类型却是一个引用 类型

大家好,我是一名C++初学者,我在学引用的时候遇到了一个问题,代码如下

#include 
using namespace std;
int & func()
{
    static int a=100;
    return a;
}
int main()
{
    int "e=func();
    system("pause");
    return 0;
}

第5行明明定义了a是一个int类型,但返回值类型却是一个引用 类型,这合理吗?两个类型都不同呀

合理啊。就是返回变量a的引用啊。它又不是指针,指针的话是&a,但引用不需要加任何符号的啊。

我的意思是int类型和int&类型是两个不同的类型把