Вы не разместили двумерный массив. Вы выделили одномерный массив указателей, каждый из которых указывает на одномерный массив элементов типа (как я полагаю) long long int.
Так что вам нужно вызывать memset для каждого такого выделенного Отдельно одномерный массив.
Вот демонстрационная программа.
#include <iostream>
#include <cstring>
int main()
{
size_t n = 0;
std::cout << "Enter the size of a matrix: ";
if ( std::cin >> n && n != 0 )
{
long long int **a = new long long int * [n];
for ( size_t i = 0; i < n; i++ )
{
a[i] = new long long int [n];
std::memset( a[i], -1, n * sizeof( long long int ) );
}
for ( size_t i = 0; i < n; i++ )
{
for ( size_t j = 0; j < n; j++ )
{
std::cout << a[i][j] << ' ';
}
std::cout << '\n';
}
for ( size_t i = 0; i < n; i++ )
{
delete [] a[i];
}
delete [] a;
}
return 0;
}
Его вывод может выглядеть как
Enter the size of a matrix: 5
-1 -1 -1 -1 -1
-1 -1 -1 -1 -1
-1 -1 -1 -1 -1
-1 -1 -1 -1 -1
-1 -1 -1 -1 -1
Программа будет работать для 2-х внутренних дополнений представление целых чисел.