为什么这需要自动?

-8 c++ auto

auto data = new char[480][640][3]();
char data = new char[480][640][3]();
Run Code Online (Sandbox Code Playgroud)

第一个作品。第二个没有。为什么?auto 不是应该用初始化器的类型替换自身吗?

use*_*751 7

因为类型不是char. 类型是char(*)[640][3],声明将写为

char (*data)[640][3] = new char[480][640][3]();
Run Code Online (Sandbox Code Playgroud)