vector<vector<double> >a(3,vector<double>(4));
double *p = a[0];
Почему это не так, a[0]
это не адрес первого измерения a
?
Смотри сюда
vector<vector<double> >a(3,vector<double>(4));
Вы определили как вектор, имеющий 3 элемента типа vector<double>.
Таким образом, [0] имеет тип vector<double>.
вектор — это определенный пользователем тип. Это не указатель.
Других решений пока нет …