2017-11-02 1 views
2

다음 구조화 바인딩 코드는 clang에서 잘 작동했습니다. Live demo구조화 된 바인딩이 GCC에서 실패하는 이유는 무엇입니까?

그러나 GCC 컴파일러에서는 실패합니다. Live demo

#include <iostream> 

struct st { 
    bool b = true; 
}; 

template <class T> 
bool func() noexcept { 
    auto [a] = T{}; 
    return a; 
} 

int main() { 
    const bool b1 = func<st>(); 
} 

왜 GCC에 실패 결합 구조는 무엇입니까?

+0

예상되는 결과는 무엇입니까? 실제 결과는 무엇입니까? – tilz0R

+3

GCC에는 구현이 필요한 버그가 수정 되었기 때문에. 그것은 당신이 물어 본 질문에 대한 답입니다. 지나치게 유용한 질문이 아닙니다. 그러나 더 유용하게 사용할 수 있도록 다시 말해보십시오. – StoryTeller

+0

이 질문은 ... eccily gcc 버그와 밀접하게 관련이 있습니까? – Barry

답변

5

이것은 GCC 7.2에 도입 된 known bug in GCC입니다. 귀하의 코드는 표준을 준수합니다.

관련 문제