error C3699: '*' : cannot use this indirection on type 'System::String' " at ArgOutStringT
error C3699: '*' : cannot use this indirection on type 'System::String' " at ArgOutStringT
I was converting VC++ project from Common Language Runtime Support, Old Syntax (/clr:oldSyntax) to Common Language Runtime Support (/clr).
1) I got an error saying "error C3699: '*' : cannot use this indirection on type 'System::String' " at ArgOutStringT(CountRef cRef, String**& s, bool Pad = false) line.
What is the new syntax for String**& in /clr
2) error C3239: 'cli::interior_ptr<Type> *' : pointer to interior/pin pointer is disallowed by the common language runtime
at int __gc** gcIntCount;
3) error C3239: 'cli::interior_ptr<T[]> &' : pointer to interior/pin pointer is disallowed by the common language runtime at
T (__gc* __nogc& outArray) __gc[]; where T is Geniric type
We cannot use * or dereference operator in new syntax of /clr. The new syntax uses handle-to-object (^) for such scenarios. Please refer the below links
http-://msdn.microsoft.-com/en-us/library/vstudio/ms177218.aspx
http-://support.microsoft.-com/kb/311259/en-us
If this does not help you to resolve the issue and need more help, please consider opening a support case with us as this involves more work and from a support perspective this is really beyond what we can do here in the forums. Visit this link to see the various support options that are available to better meet your needs: http-://support.microsoft.-com/default.aspx?id=fh;en-us;offerprophone."