You need to write this as:
```c++
inline RCP<Integer> gcd(const RCP<Integer> &a, const RCP<Integer> &b)
```
or as:
```c++
inline RCP<Integer> gcd(const Integer &a, const Integer &b)
```

See here for more details:

https://github.com/certik/csympy/blob/master/doc/style_guide.rst#pointers