La diferencia entre static_cast en C++ y conversión explícita en lenguaje C

class A
{
};

class B : public A
{
};

class C
{
};

int main()
{
	A* a = new A();
	B* b = static_cast<B*> (a);
	C* c = static_cast<C*> (a); // 编译器会检查出语法错误

	B* b1 = (B*) a;
	C* c1 = (C*) a;             // 编译器不会检查出语法错误
	return 0;
}

Supongo que te gusta

Origin blog.csdn.net/u013404885/article/details/129483181
Recomendado
Clasificación