C++ポインタとCポインタの違い:前者のタイプはより厳しい

501 ワード

まずC言語で見てみましょうc以下:
int main()
{
	int *p;
	char *q;
	void *v;

	v = p;
	q = v;

	return 0;
}
プログラムokですが、プログラムのスタイル自体が悪く、C++への移植が不便です.
C++言語ではtest.cppは以下の通りである.
int main()
{
	int *p;
	char *q;
	void *v;

	v = p;
	q = v;

	return 0;
}
コンパイルエラー:error C 2440:'=':cannot convert from'void*'to'char*'Conversion from'void*'to pointer to non-'void'requires an explicit cast.C++はもっと厳しくて、もっといいです.