Разница в синтаксисе с указателем к членам в G ++ 13 (Linux) против G ++ 14 (Windows)C++

Программы на C++. Форум разработчиков
Anonymous
Разница в синтаксисе с указателем к членам в G ++ 13 (Linux) против G ++ 14 (Windows)

Сообщение Anonymous »

Я испытал интересное поведение 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

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