I do not really believe that this question was never asked before, but i really tried to search without success, if you got a link to an already answered similar question, please share it.
I am porting a C++/Win32 program to C++/CLI, and, of course, I am trying to make the fewer number of modifications possible to the code in order to speed-up the re-testing phase.
I am having some trouble due to global functions having objects as parameters, here a short example:
Class header file
namespace MyNamespace {
public ref class MyClass {
public:
void test();
};
}
Class cpp file
using MyNamespace;
void myFunction(MyClass ^obj);
void MyClass::test() {
myFunction(this);
}
And here comes the problem: if I leave out myFunction from MyNamspace, it cannot use MyClass as a parameter's type. If I include myFunction in MyNamespace, every cpp file will compile correctly, but i will get a linker error "LNK2028 unresolved token".
An idea is to define a new class and include myFunction as a public static method, but to do this will be a long job, because myFunction, in the real project, is not alone... Any other idea?