변수 : 아래의 X는 case1에서 인쇄 할 수 있지만 case2에서 값 X를 인쇄 할 수없는 이유는 무엇입니까?가변 범위 외부 중첩 루프 C++
std::vector<double> X;
double a = -1;
for(int i = 0; i < m; i++){
for(int j = 0; j < n; j++){
double b = 0;
if(a <0){
b = a + i*i - 100;
}
if(b > 0){
X.push_back(b);
}
}
std::cout << "case1:" << X.size() << std::endl;
}
std::cout << "case2:" << X.size() << std::endl;
X.size()가 정수를 반환하지 않습니까? – 4pie0
이 작업도 컴파일됩니까? –
'b'가 범위를 벗어나 코드가 컴파일되지 않는다는 사실을 무시하면이 함수의 목적은 무엇입니까? 'a'가 절대로 수정되지 않으므로'm' x'n' 1D 벡터 인'-1'로 끝납니다. 또한'int' 값을'double'의 벡터에 추가하면 아마 하나를 선택해야합니다. – CoryKramer