https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110685
Bug ID: 110685 Summary: problem with volatile Product: gcc Version: 4.8.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: irip at qq dot com Target Milestone: --- The test case code is initialized using user-defined conversion functions, such as: struct S { int m; S(int i = 0) : m(i) { counter++; } }; ... volatile S s02 = 1; const volatile S s03 = 1; Compiler error:no matching function for call to 'S::S(volatile S)'、no matching function for call to 'S::S(const volatile S)' Cannot be converted correctly after adding volatile