C ++에서 std :: array <SomeStruct, size> 초기화시 각 항목의 유형을 지정해야하는 이유

피타 칩

SomeStruct가 아래와 같이 주어지면 :

struct SomeStruct {
    int i;
    char c;
};

아래는 컴파일되지 않습니다.

int main() {
    std::array<SomeStruct,2> arr = {{3, 't'}, {3, 't'}}; 
}

그러나 아래 코드는 작동합니다.

int main() {
    std::array<SomeStruct,2> arr = {SomeStruct{3, 't'}, SomeStruct{3, 't'}}; 
}

그리고 이것도 작동합니다.

int main() {
    std::array<SomeStruct,1> arr = {{3, 't'}}; 
}

std::array<SomeStruct,2> arr = {{3, 't'}, {3, 't'}};이로 인해 컴파일 오류가 발생하는 이유는 무엇 입니까?

또한 더 간결한 방법이 std::array<SomeStruct,2> arr = {SomeStruct{3, 't'}, SomeStruct{3, 't'}}있습니까? arr.fill(SomeStruct{3,'t'})또는 루프 를 사용하고 싶지 않습니다 . SomeStruct{3, 't'}초기화시 모든 항목을 동일하게 설정하고 싶습니다 .

MM

경험상 std::array초기화가 작동하지 않는 것 같으면 작동 할 때까지 중괄호 쌍을 계속 추가하십시오.

std::array<SomeStruct,2> arr = {{{3, 't'}, {3, 't'}}}; 

그 이유와 역사는 길고 복잡하기 때문에 집계 초기화 (C 호환성의 사마귀)와 집계되지 않은 목록 초기화 (C ++ 11에 추가됨) 사이의 경합으로 귀결됩니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C ++에서 병합하기 전에 목록을 정렬해야하는 요구 사항이있는 이유

분류에서Dev

변형에 각 데이터 유형의 여러 항목을 삽입하려면 어떻게해야합니까?

분류에서Dev

클래스 유형을 초기화 할 때 한 사용자 정의 유형을 다른 유형으로 변환하기 위해 C ++에서 수행 할 수있는 암시 적 변환은 몇 개입니까?

분류에서Dev

각 항목에 연관된 "유형"이있는 numpy 배열의 항목 추가

분류에서Dev

초기화 된 배열의 각 항목에 대한 키 이름을 설정하는 방법

분류에서Dev

이 C ++ 템플릿에서 유형을 지정해야하는 이유는 무엇입니까?

분류에서Dev

다른 유형의 다른 목록에있는 항목을 기반으로 한 목록에서 항목 찾기

분류에서Dev

배열 또는 반복기의 각 하위 항목에는 고유 한 "키"소품이 있어야합니다.

분류에서Dev

char이 std :: array에서 nullptr로 초기화 될 수있는 이유는 무엇입니까?

분류에서Dev

각 고유 항목에 대한 첫 번째 또는 마지막을 얻기 위해 테이블 자체를 조인하려면 어떻게해야합니까?

분류에서Dev

각 항목의 키 사이에 동일한 일반 유형을 가진 Typescript 배열 유사 유형

분류에서Dev

Swift의 클래스에서 변수 유형을 지정해야하는 이유는 무엇입니까?

분류에서Dev

지시문이 각 용도에 대해 고유 한 범위 항목을 갖도록하는 방법

분류에서Dev

문자열이있는 메서드 호출시 오류 : 'size_t & 유형의 상수가 아닌 참조를 잘못 초기화했습니다.

분류에서Dev

C #에서 .Equals 및 GetHashCode를 재정의해야하는 이유

분류에서Dev

각각의 고유 한 열 값에 대한 마지막 항목 가져 오기

분류에서Dev

각 항목이 빈 고유 목록의 목록 인 사전을 초기화합니다.

분류에서Dev

사용자 정의 유형이있는 C ++의 std :: map에서 값 가져 오기

분류에서Dev

사용자 정의 유형이있는 C ++의 std :: map에서 값 가져 오기

분류에서Dev

X는 C ++에서 유형의 이름을 지정하지 않습니다.

분류에서Dev

각 recyclerview 항목이 전체 화면에 표시되고 이유를 이해하지 못했습니다.

분류에서Dev

파이썬에서 초기화하지 않고 클래스 객체의 속성 유형을 얻는 방법

분류에서Dev

DataGrid의 ObservableCollection에서 특정 유형의 항목 표시

분류에서Dev

C / C ++에서 특이 복소수 정사각형 행렬의 유사 역 (SVD)

분류에서Dev

ATG에서 BCC의 각 하위 유형 생성을 허용하면서 수퍼 유형의 저장소 항목 생성을 허용하지 않으려면 어떻게해야합니까?

분류에서Dev

Java-문자열 유형 이름에서 해당 유형의 ArrayList를 초기화하는 방법

분류에서Dev

사각형의 비율을 유지하면서 다이아몬드에 사각형을 맞추려면 어떻게해야합니까?

분류에서Dev

화면 크기를 조정하는 동안 정사각형 비율을 유지하기 위해 img 높이를 img 너비에 연결

분류에서Dev

배열에서 각 요소의 유형을 유지하는 방법

Related 관련 기사

  1. 1

    C ++에서 병합하기 전에 목록을 정렬해야하는 요구 사항이있는 이유

  2. 2

    변형에 각 데이터 유형의 여러 항목을 삽입하려면 어떻게해야합니까?

  3. 3

    클래스 유형을 초기화 할 때 한 사용자 정의 유형을 다른 유형으로 변환하기 위해 C ++에서 수행 할 수있는 암시 적 변환은 몇 개입니까?

  4. 4

    각 항목에 연관된 "유형"이있는 numpy 배열의 항목 추가

  5. 5

    초기화 된 배열의 각 항목에 대한 키 이름을 설정하는 방법

  6. 6

    이 C ++ 템플릿에서 유형을 지정해야하는 이유는 무엇입니까?

  7. 7

    다른 유형의 다른 목록에있는 항목을 기반으로 한 목록에서 항목 찾기

  8. 8

    배열 또는 반복기의 각 하위 항목에는 고유 한 "키"소품이 있어야합니다.

  9. 9

    char이 std :: array에서 nullptr로 초기화 될 수있는 이유는 무엇입니까?

  10. 10

    각 고유 항목에 대한 첫 번째 또는 마지막을 얻기 위해 테이블 자체를 조인하려면 어떻게해야합니까?

  11. 11

    각 항목의 키 사이에 동일한 일반 유형을 가진 Typescript 배열 유사 유형

  12. 12

    Swift의 클래스에서 변수 유형을 지정해야하는 이유는 무엇입니까?

  13. 13

    지시문이 각 용도에 대해 고유 한 범위 항목을 갖도록하는 방법

  14. 14

    문자열이있는 메서드 호출시 오류 : 'size_t & 유형의 상수가 아닌 참조를 잘못 초기화했습니다.

  15. 15

    C #에서 .Equals 및 GetHashCode를 재정의해야하는 이유

  16. 16

    각각의 고유 한 열 값에 대한 마지막 항목 가져 오기

  17. 17

    각 항목이 빈 고유 목록의 목록 인 사전을 초기화합니다.

  18. 18

    사용자 정의 유형이있는 C ++의 std :: map에서 값 가져 오기

  19. 19

    사용자 정의 유형이있는 C ++의 std :: map에서 값 가져 오기

  20. 20

    X는 C ++에서 유형의 이름을 지정하지 않습니다.

  21. 21

    각 recyclerview 항목이 전체 화면에 표시되고 이유를 이해하지 못했습니다.

  22. 22

    파이썬에서 초기화하지 않고 클래스 객체의 속성 유형을 얻는 방법

  23. 23

    DataGrid의 ObservableCollection에서 특정 유형의 항목 표시

  24. 24

    C / C ++에서 특이 복소수 정사각형 행렬의 유사 역 (SVD)

  25. 25

    ATG에서 BCC의 각 하위 유형 생성을 허용하면서 수퍼 유형의 저장소 항목 생성을 허용하지 않으려면 어떻게해야합니까?

  26. 26

    Java-문자열 유형 이름에서 해당 유형의 ArrayList를 초기화하는 방법

  27. 27

    사각형의 비율을 유지하면서 다이아몬드에 사각형을 맞추려면 어떻게해야합니까?

  28. 28

    화면 크기를 조정하는 동안 정사각형 비율을 유지하기 위해 img 높이를 img 너비에 연결

  29. 29

    배열에서 각 요소의 유형을 유지하는 방법

뜨겁다태그

보관