아래 줄은 for 루프 안에 있습니다. 메서드가 실패하면 중단해야합니다. CATEGORY_1은 (는) 열거 형입니다. 이 열거 형을 AddToList 메서드의 새 매개 변수로 기본 값으로 추가했습니다. 아래에서 자세히 보면, 실제로 함수의 매개 변수 목록 외부에 쉼표와 열거 형을 넣는 실수를 한 것입니다. VS2010으로 완벽하게 컴파일됩니다. 따라서 CATEGORY_1 대신 해당 매개 변수에 기본값이 전달되었다는 사실을 발견하기가 어려웠습니다. 누구나 이것이 성공하는 이유를 알고 있습니까?이 코드가 VS에서 컴파일되는 이유는 무엇입니까? ("extra"쉼표)
if (! AddToList(obj1, (unsigned int) Val), CATEGORY_1)
{
break;
}
연산자가 적용되지 않습니까? –
명확하게 말하면 James가 참조하는 첫 번째 표현식은'! AddToList (obj1, (unsigned int) Val)'이고 두 번째 표현식은'CATEGORY_1'입니다. –
@Sriram Subramanian : 아니요, 콤마 연산자는 운영자. 따라서, not는'AddToList'에 적용되고,'CATEGORY_1'에는 적용되지 않을 것입니다. – ildjarn