Я испытал интересное поведение G ++ в версиях 13 и 14. Следующий код работает нормально в G ++ 14 (MSYS2, Mingw, Windows): < /p>
#include
#include
class A
{
public:
void f()
{
std::cout
error: invalid use of non-static member function 'void A::f()'
< /code>
Изменение только < /p>
std::thread t(A::f,&a);
< /code>
to < /p>
std::thread t(&A::f,&a);
< /code>
Решает проблему. По-видимому, в соответствии с вариантом Non-MSYS2 функция элемента не может быть использована вместо аргумента функции, но указатель на функцию члена мог? По -видимому, другие версии G ++ 14 не работают. < /P>
$ g++ --version
g++.exe (Rev2, Built by MSYS2 project) 14.2.0
Подробнее здесь: https://stackoverflow.com/questions/795 ... 14-windows
Std :: разница в синтаксисе потока в G ++ 13 (Linux) против G ++ 14 (Windows) ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Разница в синтаксисе с указателем к членам в G ++ 13 (Linux) против G ++ 14 (Windows)
Anonymous » » в форуме C++ - 0 Ответы
- 7 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Разница в синтаксисе с указателем к членам в G ++ 13 (Linux) против G ++ 14 (Windows)
Anonymous » » в форуме C++ - 0 Ответы
- 5 Просмотры
-
Последнее сообщение Anonymous
-