1

私はプログラミングが初めてで、数独パズルを解くプログラムを作成しようとしています。ただし、多くのエラーが発生しており、これでは何が問題なのかわかりません。

これは、エラーがあるコードです:

for (short o = indice;o>=divergencias[n_diver];o--){
    N=historico[o];
    P=tabela[N];  //Line 205
    tabela[N]=0;  //Line 206
    }
    indice -= divergencias[n_diver];
    n_diver --;
    }

コメントでマークされた行で発生したエラーは次のとおりです。

C:\(...)\main.cpp|205|error: invalid conversion from 'short unsigned int*' to 'short unsigned int'|

C:\(...)\main.cpp|206|error: incompatible types in assignment of 'int' to 'short unsigned int [9]'|

私はこのエラーを探していましたが、満足のいく答えが見つかりませんでした。さらに、プログラミングについて知っていることを学べる We​​b サイトでは、次のような記述b = billy [a+2];が有効であると指定されています。だから私はこれの何が悪いのか理解できません...

4

1 に答える 1

1

tabelaとして宣言されているようですshort unsigned tabela[9][9]。タイプの項目を取得するにはunsigned short、1 つではなく 2 つのインデックスを指定する必要があります。

一方、 からサブ配列全体を取得しようとしている場合tabela、割り当ての左側はunsigned shortunsigned short*ポインターなどの 1-D 配列と互換性がある必要があります。

于 2012-08-05T22:23:53.550 に答える