2013-06-20 3 views
-5

서명 된 서명되지 않은 불일치를 도와 줄 수있는 사람이 있습니까? my_size경고 C4018 : '>': 부호있는/부호없는 불일치

void set::add(SET_ITEM_TYPE newItem) 
    // post: If newItem is not in this set, newItem is added 
    //  and the size of the set increased by +1. 

{ 
    if (positionOf(newItem) == -1) 
    { 

    if(my_size >= my_item.capacity()) 
    { 
    my_capacity = 2 * my_item.capacity(); 
    my_item.resize(my_capacity); 
    } 
    my_item[my_size] = newItem; 

    my_size++; 
    } 
} 
+0

오류 (실제로 대부분의 아마 단지 경고가) 자기 설명이다. my_item.capacity()는 부호없는 유형을 반환하고 서명 된 유형과 비교합니다. – ApplePie

+0

여기에 어떤 문제가 있는지 알고 싶다면 형식이 무엇인지 알아야합니다. 즉, my_size 유형은 무엇이며, my_item.capacity 유형은 무엇입니까? – Joel

+0

들여 쓰기도 수정하고 싶습니다. 실제로 여기 전체 서식은 끔찍합니다. –

답변

3

int으로 정의된다 my_size을 가정 할 경우, 당신은 unsigned int으로 유형을 변경하여이 문제를 해결할 수에 관한입니다. 크기는 음수 일 수 없습니다. 왜 서명해야합니까?

(이유가 std::vector::size 등을 반환 부호없는 타입)

+0

감사합니다 @ Magtheridon96 –