Каков портативный способ к классам вперед-declare в встроенном пространстве имен в Libc ++?C++

Программы на C++. Форум разработчиков
Anonymous
Каков портативный способ к классам вперед-declare в встроенном пространстве имен в Libc ++?

Сообщение Anonymous »

Следующий код не компилируется только тогда, когда я указываю -Stdlib = libc ++ , чтобы Clang ++ :

Код: Выделить всё

namespace std {
class mutex;
}

void f(std::mutex &x);

#include 

void f(std::mutex &x) { }
< /code>
[list]
[*]gcc.godbolt.org
< /ul>

Примечание: кандидат найден по имени. Там < /p>

[*] Откуда символ __1, когда используется LLVM LIBC ++? />http://en.cppreference.com/w/cpp/thread/mutex (ну, это не на самом деле стандарт ...)
[/list]
это  должно быть возможным, чтобы он был возможна, чтобы перенаправить declare std :: mutex 
, потому что он должен быть непосредственно под непосредственным. /> Обратите внимание, что фаза компиляции, а не фаза связывания, терпит неудачу. Поэтому я не думаю, что ответ на мой вопрос должен быть в соответствии с «потому что Libc ++ использует другой ABI от GNU libstdc ++ ...»

Подробнее здесь: https://stackoverflow.com/questions/357 ... pace-in-li

Вернуться в «C++»