PSI*_*Alt -1 c c++ language-lawyer
关于以下代码片段的问题
char *p = malloc(10);
Run Code Online (Sandbox Code Playgroud)
当我编译它gcc的任何-std=,这并编译好.
但是使用g ++,-std=这会产生错误:
w.c:4:21: error: invalid conversion from ‘void*’ to ‘char*’ [-fpermissive]
char *p = malloc(10);
Run Code Online (Sandbox Code Playgroud)
为什么行为不同?我认为用C编译的所有行都应该用C++编译器编译.这有什么标准要求吗?
因为你的编译C与gcc和C++使用g++.那些是不同的语言.
C++对于来自void*go的隐式转换,输入更强.
| 归档时间: |
|
| 查看次数: |
570 次 |
| 最近记录: |