Hallo und guten Tag!
Ich habe mir ein kleines Tutorial über Threads in sfml angesehen und das ganze selbst einmal probiert. Ich benutze (im Gegensatz zu dem Programmierer in dem Tutorial) zwar sfml 2, allerdings habe ich gesehen, dass sich hier kaum etwas geändert hat.
Hier der kleine Quellcode:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#include <iostream>
#include <SFML\Graphics.hpp>
using namespace std;
void ThreadFunktion (void *UserData)
{
for (int i=0; i<10; i++)
{
cout << "Thread" << endl;
}
}
int main()
{
sf::Thread Thread(&ThreadFunktion);
Thread.launch();
for (int i=0; i<10; i++)
{
cout << "Main" << endl;
}
return 0;
}
|
Der Compiler gibt mir jetzt allerdings folgenden Fehler aus, bei dem ich Schwierigkeiten habe ihn zu interpretieren:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
1>------ Erstellen gestartet: Projekt: sfml_tutorial_Threads, Konfiguration: Debug Win32 ------
1> main.cpp
1>c:\sfml\sfml2\include\sfml\system\thread.inl(39): error C2198: "void (__cdecl *)(void *)": Nicht genügend Argumente für Aufruf.
1> c:\sfml\sfml2\include\sfml\system\thread.inl(39): Bei der Kompilierung der Klassen-template der void sf::priv::ThreadFunctor<T>::run(void)-Memberfunktion
1> with
1> [
1> T=void (__cdecl *)(void *)
1> ]
1> c:\sfml\sfml2\include\sfml\system\thread.inl(70): Siehe Verweis auf die Instanziierung der gerade kompilierten Klassen-template "sf::priv::ThreadFunctor<T>".
1> with
1> [
1> T=void (__cdecl *)(void *)
1> ]
1> c:\users\luca\documents\visual studio 2010\projects\sfml_tutorial_threads\sfml_tutorial_threads\main.cpp(16): Siehe Verweis auf die Instanziierung der gerade kompilierten Funktions-template "sf::Thread::Thread<void(__cdecl *)(void *)>(F)".
1> with
1> [
1> F=void (__cdecl *)(void *)
1> ]
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
|
wäre nett, wenn ihr mir sagen könntet, woran das denn jetzt genau liegt? An den internen sfml Dateien habe ich nichts verändert...