Compiler Error C3175
Visual Studio 2015
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at Compiler Error C3175.
function1' : cannot call a method of a managed type from unmanaged function 'function2'
Unmanaged functions cannot call member functions of managed classes.
The following sample generates C3175:
// C3175_2.cpp
// compile with: /clr
ref struct A {
static void func() {
}
};
#pragma unmanaged // remove this line to resolve
void func2() {
A::func(); // C3175
}
#pragma managed
int main() {
A ^a = gcnew A;
func2();
}
The following sample generates C3175:
// C3175.cpp
// compile with: /clr:oldSyntax
#using <mscorlib.dll>
__gc struct A
{
static void func()
{
}
};
#pragma unmanaged // remove this line to resolve
void func2()
{
A::func(); // C3175
}
#pragma managed
int main()
{
A *a = new A;
func2();
}
Show: