When allocating memory using new on the heap (or free store) you must use a pointer correct.

When attempting to allocate to a basic type like a string variable I get an error about conversion to non-scalar type.

From this I gather that a scalar type is a pointer.
A non-scalar type pod. Correct?

Thought I understood memory allocation using new completely and just took it for granted they where using pointers. From my expirments I want to conculde that this is a requirement, but am asking for some confirmation.

I was expirmenting with passing the address of a pointer to a function that accepts type ptr. I discovered the obvious. Passing the address of a pointer is passing a refrence to some data. Derefrencing the pointer in the argument list of a function is a refrence to the data therefore pod or non-scalar hence the necessity for a pointer to pointer when using dynamic memory allocation. I'll post an example if anybody wants assuming I am correct.