I don't know if this is by design or not, but I have noticed it for a while and finally decided to report the behavior. Basically, some features of Visual Assist (at least Change Signature and Create Implementation) seem to lose the static keyword from my function prototype. For example, given the following prototype:
static int TestFunction(int arg1, float arg7, double arg3);
If I use the Create Implementation feature, I get the following (notice no static keyword):
int TestFunction(int arg1, float arg2, double arg3)
{
}
Similarly, if I manually add the static keyword to the function definition and then invoke the Change Signature feature, it will remove the static keyword from the definition (but not the prototype).
I have encountered this behavior in multiple versions of Visual Assist, but have recently reproduced it with build 2270. It seems to me that this is a bug, but perhaps it is by design?