Результаты поиска по запросу "c++17"

1 ответ

PR35107

сно с [temp.deduct.guide/3 [https://timsong-cpp.github.io/cppwp/n4659/temp.deduct.guide#3]]: (...) Руководство по дедукции должно быть объявлено в той же области видимости, что и соответствующий шаблон класса, и, для шаблона класса члена, с ...

2 ответа

Возможный обходной путь - использовать лямбда-захват с инициализатором. Следующий код прекрасно компилируется в Visual Studio 2017 15.5.

ощью следующего кода я получаю ошибку компиляцииC2065 'a': undeclared identifier (с использованием visual studio 2017): [] { auto [a, b] = [] {return std::make_tuple(1, 2); }(); auto r = [&] {return a; }(); //error C2065 }();Тем не менее, ...

2 ответа

@ T.C. Вы правы, но я не ошибаюсь :). Я не поощрял брать его адрес. Я согласен, что ваше конкретное использование является ловушкой, но хотел бы отметить, что использование такого объекта в общем определении не является неправильным в целом.

тавьте, что у нас есть заголовокfoo.h содержащий следующее: #ifndef FOO_H_ #define FOO_H_ namespace foo { constexpr std::string_view kSomeString = "blah"; } #endif // FOO_H_Являетсяfoo::kSomeString гарантированно иметь внутреннюю связь в любой ...

ТОП публикаций

1 ответ

Эта ошибка была исправлена! :)

ющий код: variant<string> x = "abc"; cout << get<string>(x) << "\n";прекрасно работает под g ++ (версия 7.2). Однако при компиляции в clang ++ (версия 5.0) с использованием libstdc ++ я получаю следующую ошибку вget ...

3 ответа

). Для теста попробуйте скомпилировать этот простой код:

авно обновил gcc и g ++ до версии 7.2. Я хотел бы попробоватьstd::experimental::any а такжеstd::variant в частности, и я использую Qt 5.9.1 в QtCreator. Пока что я написал это в файле проекта: CONFIG += c++17И я добавил правильные заголовки в ...

1 ответ

перешел в чат

лько я знаю,memcpy в неинициализированное хранилищене можешь [https://stackoverflow.com/q/30114397/149138]безопасно использовать для создания копии исходного объекта. Однако вэта тема ...

2 ответа

 не требуется вообще (очень вероятно, что использовать только один из них; я думаю, что это предусмотрено).

у пройти карту, используя привязки структуры, игнорируя ключ: for (auto& [unused, val] : my_map) do_something(val);Я пробовал разные варианты с gcc-7.2.0: // The warning is issued for ([[maybe_unused]] auto& [unused, val] : ...

1 ответ

 действительно будет пустым в этой ситуации.

отрим следующий код: template <typename... Types> struct list { template <typename... Args> list(Args...) { static_assert(sizeof...(Types) > 0); } }; template <typename... Args> list(Args...) -> list<Args...>; int main() { list l{0, 0.1, 'a'}; ...

2 ответа

Сложности, возникающие здесь, в основном такие же, как и в случае унаследованного конструктора. Фейсал Вали (один из других разработчиков метода вывода аргументов шаблонов классов) имеет конкретный план, как заставить такие случаи работать, но комитет C ++ еще не обсуждал это расширение.

#include <utility> template<class T1, class T2> struct mypair : std::pair<T1, T2> { using std::pair<T1, T2>::pair; }; int main() { (void)std::pair(2, 3); // It works (void)mypair(2, 3); // It doesn't work }орошо сформировано? Можно ли вывести ...

2 ответа

 если вы хотите иметь точно такую ​​же версию LLVM.

сутьупоминает, что xcode 9 опубликован с «Apple LLVM версии 9.0.0 (clang-900.0.38)», но последняя версия llvm в [https://gist.github.com/yamaya/2924292]llvm.orgLLVM 5.0.0. [http://releases.llvm.org/]Какая связь между ними? Обзор компилятора LLVM