Разница в синтаксисе с указателем к членам в 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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