2017-04-08 7 views
0

현재 나는 다른 두 번째 열 크기를 가질 수있는 C++에서 2 차원 배열을 수행하려고합니다. 이것은 내 코드입니다.2 차원 배열의 다른 크기와 2 차원 배열 사용 C++

int **testZadanie; 
testZadanie = new int*[testy]; 
... 
for (int i = 0; i<testy; i++) 
{ 
    cin >> liczbaLakomczuchow >> liczbaCiastek; 
    testZadanie[i] = new int[liczbaLakomczuchow]; 
    for (int j = 0; j<liczbaLakomczuchow; j++) 
    { 
     cin >> czasJedzenia; 
     //testZadanie[i, j] = czasJedzenia; this not works 
     *testZadanie[i, j] = czasJedzenia; 
    } 
} 

그러나 각 열에 대해 값을 첨부하려는 경우 예외가 있습니다. 그래서 내가 실제로이 일을 할 수 있는지 잘 모르겠다. (각 행에 대해 동적 열 요소를 선언하고 행의 각 항목에 대해 연결 하시겠습니까?)

답변

1

x[y, z] 대신 x[y][z]을 사용하십시오.

  • a, b는 두 피연산자를 평가하고 두 번째의 값을 반환 쉼표 연산자입니다 : 당신이 *x[y, z] 쓸 때

    는, 컴파일러 (안 당신이 원하는이다) 때문에 x[z][0]로 해석합니다.

  • *aa[0]과 같습니다.

이 답변은 일반적으로 단지 유형을 내장 적용됩니다. 클래스에 대한 연산자 과부하,, *[] 연산자를 사용하여 동작을 완전히 변경할 수 있습니다. 당신이 과부하 운영자가 무엇인지 모르는 경우

, 그냥이 말을 무시합니다.

+0

젠장, 너무 많이 C# :) 답변 해 주셔서 감사합니다. – dawcza94