私はC ++が苦手で、配列内の配列でエラーが発生するのはなぜか疑問に思っていましたが、通常の配列では問題なく動作します(およびそれを修正する方法)。
コードは次のとおりです(配列を構築するときにクラス内に配列を格納しようとしています):
class foo {
int* stored;
public:
foo(int* ptr) {
stored = ptr;
}
};
int main() {
int arr[][2] = {{1,4},{5,7},{2,5}};
foo obj(arr);
}
配列がint arr[] = {1,2,3}
エラーなしで動作するようなものである場合、通常のコードでは次のエラーが表示されます。
error: no matching function for call to 'foo::foo(int [3][2])'
しばらく検索しましたが、そもそも何を検索すればよいのかよくわかりません。そのため、ここで質問しています(ただし、ポインターと関係があると思います)。助けてくれてありがとう。