关于#c++#的问题,请各位专家解答!


```c++

#include
using namespace std;
template <typename T>
T Bigger(T a, T b)
{
    return (a + b) / 2;
}
template<> int* Bigger(int* a, int* b)
{
    return *a > *b ? a:b;
}
int main()
{
    //ave(100, 200);
    //ave(short(100), short(100));
    short a = 100;
    short b = 101;
    std::cout << *Bigger(&a, &b);
    system("pause");
    return 0;
}

```c++
错误    C2110    “+”: 不能添加两个指针

这个错误是啥意思啊,我知道是short类型不匹配,但为什么会出现这样的错误呢

编译器不会a+b啊,a和b都是指针啊,两个指针相加,你期望(a+b)/2返回的是啥啊???