작성
·
185
0
4:44초 에 나오는 매개변수 array<int,5>를 보고
크기값을 바꾸면 어떻게 될까 싶어서 바꾸어봤었는데
오류가 났었습니다
( array<int,4> 나 array<int,6> 처럼 5보다 작거나 큰값을 넣었습니다)
그래서 인수값을 형변환 해줬더니 배열은 형변환이 안된다는 듯한 오류가 떠서 궁금증이 생겼는데
Q1. array<int, n>의 크기값을 왜 바꿀수가 없나요?
Q2. 배열은 형변환이 왜 안되나요?
답변 2
0
void printLength(const array<int, 5>& your_arr)
{
cout << your_arr.size() << endl;
}
int main()
{
array<int, 5> my_arr{ 16,5723,23,644,42 };
static_cast<array<int, 4>>(my_arr); // Error C2440 'static_cast': cannot convert from 'std::array<int,5>' to 'std::array<int,4>'
array<int, 4>(my_arr);//Error C2371 'my_arr': redefinition; different basic types
printLength(my_arr);
return 0;
}
형변환 시도 했던 코드입니다
0
안녕하세요
형변황 시도한 코드랑 오류 메세지도 함께 부탁드립니다.
배열이 형변환 안되는건.. 그 안에 든 모든 원소들도 다 형변환하여야하고 이에 더하여 형변환한다는 것은 데이터 크기가 바뀐다는 것이니 한 칸씩 밀려나거나 땡겨오는 일도 일어나야하지 않을까요? (생각만 해도 무거운 방식일 것 같네요..) 그래서 안될 것 같단 생각이 듭니다.
답변 감사합니다