2015-01-08 8 views
3

내 프로그램을 실행하는 동안이 오류가 발생합니다.Java에서 비트 XOR 연산

int temp1; 
    for(int m = 1;m<height;m++) 
    { 
     temp1 = 2*m-1; 
     for(int n = 0;n<width;n++) 
     { 
      r[temp1][n] = r[temp1][n]^Kc[n]; 
     } 
    } 

이 나에게 많이, 감사합니다 도움이 될 것 ": 두 번째 int 형 이항 연산자 '^' 첫 번째 유형에 대한 잘못된 피연산자 유형은 [] int로".

+0

명백하게'Kc'는 2 차원 배열이므로'Kc [n]'은 1 차원 배열입니다. 또한이 코드는 Java 또는 C++입니까? 두 언어 모두에 태그를 지정했는데 - 왜 정확합니까? –

+0

컴파일러 오류로 인해 무엇이 잘못되었는지 명확히 알 수 있습니다. 당신의'Kc'는'int []'가 아니라'int [] []'처럼 보입니다. (또한 변수 이름을 변경하십시오; 아무도 여러분의 배열이 포함하고있는 것을 알 수 없습니다.) – fge

+0

오류 메시지는 다음과 같습니다. 'Kc [n]'은'int' 배열입니다. 그것은'int'이어야합니다. – Joel

답변

2

int에는 및 int 배열이 아니고연산자를 사용할 수 있습니다. 에러 메시지에 기초

, Kc[n]int 배열이다.

int들에 연산자를 적용 할 수 있습니다

r[temp1][n] = r[temp1][n]^Kc[temp1][n]; 

를 인덱스가 (필자는이 배열의 크기를 알 수 없기 때문에) 의미가 있다면 아무 생각이 없다, 당신이 가질 수 있도록 그들을 바꿔라.

+0

감사합니다. 죄송합니다. 내 실수이며 예 Kc는 2D 배열입니다. – user3364490

2

오류 메시지가 Kc[n]int의 배열임을 말하고있다. int이어야합니다. 당신은 정수로 Kc[n]에 대한 의미 경우

, 당신은 그것을 미스 선언했습니다.