Strano. Col VC++ 2008 espresso a me protesta su questo pezzo di codice. Il che a prima vista mi sembra normale dal momento che la variabile r è definita in un blocco di codice e nell'altro no.
(Tra l'altro come dovrebbero essere annidati i for? )
codice:void HashTable::LCS(string s, string a, int k) { int* l; l=new int[s.size()*a.size()]; // qui è definita for(int r=0;r<=s.size();r++) for(int c=0;c<=a.size();c++) l[r*a.size()+c]=0; for( r=1;r<=s.size();r++) // qui no. for( int c=1;c<=a.size();c++) { if(s[r-1]==a[c-1]) l[r*a.size()+c]=l[(r-1)*a.size()+(c-1)]+1; else if(l[r*a.size()+(c-1)] > l[(r-1)*a.size()+c]) l[r*a.size()+c]=l[r*a.size()+(c-1)]; else l[r*a.size()+c]=l[(r-1)*a.size()+c]; } r=s.size(); int c=a.size(); a_lcs[k]=l[r*a.size()+c]; }