Oh I see what you mean, you have syntax like:
```
#define g(a) ...
void f( g(h) a ){}
```
But without C pre-processing the second line is illegal C/C++ syntax so the
parser is confused and generates the wrong symbol.
To quote the Geany maintainer "Its very unlikely that pre-processing will be
done" so its probably going to remain a limitation.
But a better way to do this (in C++) is to use an alias:
```
template <typename T> using shared_ptr = std::shared_ptr<T>;
void func( shared_ptr<T1> t1 ) {}
```
That is subject to bug #975 but at least it doesn't confuse the parser and
isn't an evil macro.
---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/1172#issuecomment-238786475