auto data = new char[480][640][3]();
char data = new char[480][640][3]();
First works. Second doesnt. Why? Isn't auto supposed to just replace itself with the type of the initializer?
auto data = new char[480][640][3]();
char data = new char[480][640][3]();
First works. Second doesnt. Why? Isn't auto supposed to just replace itself with the type of the initializer?
 
    
    Because the type isn't char. The type is char(*)[640][3] and the declaration would be written as
char (*data)[640][3] = new char[480][640][3]();
