You use new to perform dynamic allocation. It returns a pointer that points to the dynamically allocated object.
You have no reason to use new, since A is an automatic variable. You can simply initialise A using its constructor:
vector > A(dimension, vector(dimension));