What do you mean by "bad_ptr"? Edward doesn't have any problems with that syntax.

#include <iostream>
#include <iomanip>
int main()
{
const int n = 16;
unsigned int **intext;
intext = new unsigned int*[n];
for (int i = 0; i < n; i++)
intext[i] = new unsigned int[n];
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++)
intext[i][j] = i + j;
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++)
std::cout << std::setw(4) << intext[i][j];
std::cout << '\n';
}
for (int i = 0; i < n; i++)
delete[] intext[i];
delete[] intext;
}

This is a fingerprint verification application. When verifying,it loops through the table. if the current fingerprint template is the first one on the table row it verifies it correctly. But ...