안전한가요?std :: vector <float> 및 이중 * - 얼마나 안전한가요?
double darray[10];
vector<float> fvector;
fvector.insert(fvector.begin(), darray, darray + 10); // double to float conversion
// now work with fvector
VS2008은 float 변환에 대한 경고 메시지를 표시합니다. 이 경고를 어떻게 없앨 수 있습니까? darray
을 float*
으로 변환하는 것이 포인터의 단계 크기 (스트라이드)를 변경하는 것이 적절하지 않다고 생각합니다.
업데이트 : 경고 내용을 알고 있습니다. 그러나 "해상 = adouble; 시나리오를 쉽게 적용 할 수있는 시나리오에서이 경우 경고를 제거 할 수 없습니다.
편집 :darray
이 더 이상 함수 인수가되지 않도록 코드를 편집했습니다. 그것을 지적 해 주신 모든 분들께 감사드립니다.
람다를 포함한 C++ 11 :'[] (double val) -> float {return (float) val; }'대신'CastToFloat' – dashesy