Compiler: boostc++_pic18 [running from cmdline]
Version: 7.0.1 7.0.3
Applying the unary pointer operator (&) to a pointer-type member variable results in an expression of incorrect type. Taking the address of a char* results in another char*. Non-member variables do not have this problem.
Steps to reproduce:
The following code does not compile.
x = &localPointer;
x = &globalPointer;
x = &instancePointer;
The compiler fails on the line "x = &instancePointer", with "error: can't convert 'unsigned char*' to 'unsigned char**'", suggesting it thinks "&instancePointer" is of type "char*".
Is the problem 100% reproduceable: It appears to be, although I've only noticed it the once (plus this cut-down example).
Expected behaviour: I expect it to compile
Is this likely to have been corrected between 7.0.1 and 7.0.3? I tried upgrading to 7.0.3. It behaves the same way.
(Incidentally, are there any release notes detailing what changes between versions?)
Edit: Tried upgrading to 7.0.3.