2014-11-15 2 views
-2

주어진 길이와 최대 3 자까지의 가능한 모든 배열을 생성하는 알고리즘을 만들었지 만, 그 배열을 사용할 수는 있지만 doensn't는 작동하지 않습니다. 오류. 코드는 다음과 같습니다 :모든 가능한 배열을 생성하는 알고리즘

template <typename t> 
bool w (t begin, t end) { 
while (begin != end) { 
    end--; 
    if (*end != 3) { 
     *end++; 
     return true; 
    } 
    else 
     *end = 0; 
} 
return false; 
} 

잘못된 것이 있습니까? 실례지만, 나쁜 영어는 제 모국어가 아닙니다.

+0

사실, 오류가 발생하지 않는다는 것은 컴파일이나 링크 문제가 없다는 것을 의미합니다. 다른 말로하면, 프로그램은 어떤 일을하지만 분명히 당신이 원하는 것은 아닙니다. – Ludwik

+0

또한 코드가 잘못 들여 쓰기가 쉽습니다. 원하는 것을 원한다면 왜 템플릿을 사용하고 있습니까? 또한, 코드 어디에도 배열을 선언하지 않습니다! – Ludwik

답변

0

*end++;*(end++) 그냥 end++처럼 원하는대로하지 않습니다. 더 나은 경고 설정으로
, 당신은 것입니다 :

경고 : 계산 된 값을 사용하지 않는 [-Wunused 값]
* 끝 ++;
^

사용 ++*end; 또는

Live example(*end)++;.

관련 문제