We want to use C++0x unions with a std::string as member (see for example http://www2.research.att.com/~bs/C++0xFAQ.html#unions). At the moment we want to call the ~string we get an error. Reproducer: #include <string> int main () { std::string s; s.~string(); return 0; } message g++-4.6 -c t.cpp t.cpp: In function ‘int main()’: t.cpp:6:11: error: expected class-name before ‘(’ token
g++-4.6 (SUSE Linux) 4.6.0 20110505 [gcc-4_6-branch revision 173419] Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
(In reply to comment #0) > We want to use C++0x unions with a std::string as member (see for example > http://www2.research.att.com/~bs/C++0xFAQ.html#unions). At the moment we want > to call the ~string we get an error. Your program is not conforming according to the standard. You need to write s.std::string::~string(); instead.
user error
correct status