You must use = or {}. The parentheses form would be ambiguous, and the C++ committee chose to avoid adding another place to the C++ grammar where disambiguation was required.<br><br><div class="gmail_quote">On Wed, Mar 7, 2012 at 5:25 PM, David Blaikie <span dir="ltr"><<a href="mailto:dblaikie@gmail.com">dblaikie@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I believe you have to use = for in-place member initialization.<br>
<div><div class="h5"><br>
On Wed, Mar 7, 2012 at 5:23 PM, Ryan Ericson <<a href="mailto:ryan.ericson@gmail.com">ryan.ericson@gmail.com</a>> wrote:<br>
> Clang C++11 status page says that "Non static data member initializations"<br>
> is available in clang 3.0.<br>
><br>
> I'm on Xcode 4.3, clang++ --version gives this:<br>
> Apple clang version 3.1 (tags/Apple/clang-318.0.45) (based on LLVM 3.1svn)<br>
><br>
> This example fails to compile:<br>
> #include <string><br>
> using namespace std;<br>
><br>
> struct foo<br>
> {<br>
> string s("aa");<br>
> };<br>
><br>
> With this error:<br>
> test3.cpp:6:11: error: expected parameter declarator<br>
>         string s("aa");<br>
>                  ^<br>
> test3.cpp:6:11: error: expected ')'<br>
> test3.cpp:6:10: note: to match this '('<br>
>         string s("aa");<br>
><br>
> Am I misunderstanding something? Thanks in advance!<br>
><br>
><br>
</div></div>> _______________________________________________<br>
> cfe-dev mailing list<br>
> <a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
><br>
<br>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
</blockquote></div><br>