Multidimensionnelle de taille variable tableau en C++

salut, je veux faire quelque chose comme ceci:

int op(string s1, string s2){
    int x = s1.size();
    int y = s2.size();
    int matrix = new int[x][y]
    /* do stuff with matrix */
}

Pour une raison que j'obtiens les erreurs suivantes:

SuperString.cpp(69) : error C2540: non-constant expression as array bound
SuperString.cpp(69) : error C2440: 'initializing' : cannot convert from 'int (*)[1]' to 'int'
        This conversion requires a reinterpret_cast, a C-style cast or function-style cast
SuperString.cpp(71) : error C2109: subscript requires array or pointer type

Merci!

Il vient probablement de C# où est ce qu'il fait est légal 🙂
Il existe déjà de nombreuses questions à ce sujet à partir d'un certain nombre de différents angles (à noter que certains seront marqués [c] parce que le c++ obtient son tableau de comportement à partir de c).
Quelques liens: stackoverflow.com/questions/365782/... et stackoverflow.com/questions/1285457/2d-arrays-with-c et ...
Créer une Matrice clas, voir parashift.com/c++-faq-lite/opérateur-la surcharge.html#faq-13.10

OriginalL'auteur SuperString | 2009-12-22