in class member initializations not working? (clang 3.0)

Clang C++11 status page says that “Non static data member initializations” is available in clang 3.0.

I’m on Xcode 4.3, clang++ --version gives this:
Apple clang version 3.1 (tags/Apple/clang-318.0.45) (based on LLVM 3.1svn)

This example fails to compile:

using namespace std;

struct foo
string s(“aa”);

With this error:

test3.cpp:6:11: error: expected parameter declarator
string s(“aa”);
test3.cpp:6:11: error: expected ‘)’
test3.cpp:6:10: note: to match this ‘(’
string s(“aa”);

Am I misunderstanding something? Thanks in advance!

I believe you have to use = for in-place member initialization.

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.