STD :: Thread -Syntaxdifferenz in G ++ 13 (Linux) gegen G ++ 14 (Windows)C++

Programme in C++. Entwicklerforum
Anonymous
 STD :: Thread -Syntaxdifferenz in G ++ 13 (Linux) gegen G ++ 14 (Windows)

Post by Anonymous »

Ich habe ein interessantes Verhalten von G ++ in den Versionen 13 und 14 erlebt. Der folgende Code funktioniert gut in G ++ 14 (MSYS2, Mingw, Windows): < /p>

Code: Select all

#include 
#include 

class A
{
public:
void f()
{
std::cout
error: invalid use of non-static member function 'void A::f()'
< /code>
Nur < /p>
ändernstd::thread t(A::f,&a);
< /code>
zu < /p>
std::thread t(&A::f,&a);
< /code>
Löst das Problem. Anscheinend konnte unter der Non-MSYS2-Variante eine Mitgliedsfunktion anstelle eines Funktionsarguments nicht verwendet werden, aber ein Zeiger auf eine Mitgliedsfunktion konnte? Anscheinend funktionieren andere G ++ 14 -Versionen nicht. < /P>
$ g++ --version
g++.exe (Rev2, Built by MSYS2 project) 14.2.0

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post