void str() { auto s = new char[]; } void main() { str(); } produces: str.d(3): Error: new can only create structs, dynamic arrays or class objects, not char[]'s. What am I missing here, isn't char[] a dynamic array?