직접 {} 생성자 * CHAR에서 STD : 문자열 초기화 . 이 작품 :C++ 11 I는 <code>std::string&</code> 함수를 받아 갖는
const char* s1 = "test";
std::string s2{s};
f(s2);
이되지 않습니다
const char* s1 = "test";
f({s1});
왜 이것이 가능하지? 재미있는 것은 CLion IDE 불평되지 않는 것입니다,하지만 컴파일러는 다음과 같습니다
no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘std::basic_string<char>&’
왜 작동하길 기대합니까? – juanchopanza
함수는 참조로 문자열을 예상하고 두 번째 옵션은이를 수행하지 않습니다. 첫 번째 예제에서's1'은 예제를 제외하면 완전히 불필요합니다 :'std :: string s2 = "test";' – crashmstr
* 재미있는 점은 CLion IDE가 불평하지 않지만 컴파일러는 다음과 같습니다 : * - CLIon 컴파일러가 아닙니다. 컴파일러가 이깁니다. – PaulMcKenzie