언어/C.C++

warning: iteration 61u invokes undefined behavior [-Waggressive-loop-optimizations]

쑥이★ 2018. 1. 31. 13:38

C++ 프로그램 중 warning: iteration 61u invokes undefined behavior [-Waggressive-loop-optimizations] 이라는 warning 발생

나에게 발생한 원인 : 반복문 for 에서 i 값이 배열의 범위를 넘어가서 발생함.

문제가 되는 코딩)

#define amax 61


int a[amax], i, sum;


for (i = 0 ; i < 100 ; i ++)

{

sum += a[i];

}

해결방안)
배열의 크기 확인 후 해당 크기 만큼만 반복하도록 수정함.

for (i = 0 ; i < amax ; i ++)

{

sum += a[i];

}