Не могли бы вы взглянуть на мой комментарий к ответу Алока (чтобы не повторяться) и сообщить мне какие-нибудь идеи?

от вопрос уже есть ответ здесь:

Почему компилятор не допускает std :: string внутри объединения? 5 ответов

У меня есть союз, который выглядит так:

union {
  int intValue;
  double doubleValue;
  std::string stringValue;
  void *pointerValue;
} values;

Когда я компилирую это, я получаю это сообщение об ошибке (да, я сделал#include <string>):

./Value.hh:19:19: error: union member 'stringValue' has a non-trivial copy constructor                 
      std::string stringValue;                                                                         
                  ^                                                                                    
/Developer/SDKs/MacOSX10.7.sdk//usr/include/c++/4.2.1/bits/basic_string.h:434:7: note: because         
      type 'std::basic_string<char>' has a user-declared copy constructor                              
      basic_string(const basic_string& __str);                                                         
      ^

Я компилирую это с помощью этой команды:

$ clang++ *.cc -isysroot /Developer/SDKs/MacOSX10.7.sdk/ -shared

Как я могу использоватьstd::string в союзе?

Ответы на вопрос(1)

Ваш ответ на вопрос