2012-08-05 4 views
1

안녕하세요, MySQL 쿼리에서 행과 열 결과를 처리하기위한 래퍼를 만들려고합니다. 명령.의 리턴 데이터는. 자열 또는 NULL 포인터 일 수 있습니다. 내가이다차원 벡터 문자열

class RowWrapper { 
public: 
    std::vector< std::vector <std::string> > data; 
    void SetVector(unsigned int rows, unsigned int columns); 
}; 

void RowWrapper::SetVector(unsigned int rows, unsigned int columns) 
{ 
    for (int x = 0; x > rows; x++) 
    { 
     std::vector<std::string> p_rows; 
     for (int y = 0; y > columns; y++) 
     { 
      p_rows.push_back(x*y); //Error here 
     } 
     data.push_back(temp_rows); 
    } 
} 

오류가 아마 벡터 또는 문자열에 대한 뭔가가 과부하 기능에 대한 인스턴스가 없습니다 : 그래서 여기 내 시도이다.

+5

'int '를'vector '에 push_back하려고합니다. – Mat

답변

0

루프가 x> 행만큼 길어질 수 있습니까? 그리고 당신은 증가하고 있습니까? 나는 이것이 영원히 계속 될지도 모른다고 생각한다. 또는 최대 int 값을 전달하지 않는 한.

또한 push_back은 int를 인수로 취하며 int 값을 취하는 string의 생성자가 없다. 논의. 그로 인해 과부하 된 기능 오류가 발생할 수 있습니까?

+1

사실'rows'는'unsigned int'이고 따라서 0보다 크거나 같기 때문에 실제로 실행해서는 안됩니다. 따라서 첫 번째 비교는 이미 실패해야하며 반복이 발생하지 않습니다 (적어도 행이 음의 정수 범위에 속할만큼 커지지 않는 한) – Grizzly