이전에 Visual Studio를 사용한 후 RedHat에서 g ++ 컴파일로 이전 할 때 흥미로운 오류가 발생했습니다.쉼표를 추가 할 때 문자열 *에서 예기치 않은 결과가 나타납니다
는 I는 다음과 같다 루프를 가지고
for(unsigned int i = 0; i < data.size(); i ++){
for(int j = 0; j < data[i]->size; j++){
cout << data[i]->columns[j]<< ',';
}
cout << endl;
}
여기서 데이터 [I] -> 칼럼 스트링 *, 그리고 의도는 콤마로 분리 출력한다. 는 이전에,이 일을하지만, 오늘 내 출력은 다음과 같은 :
,ata, two, three, four
,ata2, two, three, four
,ata3, two, three, four
반면에 나는 약간의 코드를 변경하는 경우 : < cout을 < 타이 [I] -> 열 [J] < < ENDL;
내가 얻을 :
data
two
three
four
data2
two
three
four
은 쉼표로 이러한 문자를 겹쳐 어떤 원인이 될 수 있을까? 이것은 Visual Studio 컴파일러에서 발생하지 않았습니다.
오류를 나타내는 실제 코드 * 붙여 넣기 (* not * retype) * 실제 코드를 붙여 넣으십시오. 게시 한 코드 스 니펫이 컴파일 될 가능성이 없습니다. http://sscce.org/. –