#include <type_traits>
#include <mutex>
#include <assert.h>
#include <tuple>
#include <chrono>
#include <vector>
#include <conio.h>
#include <type_traits>
#include <thread>
#include <future>
#include <barrier>
#include <memory>
#include <random>
#include <map>
#include <Windows.h>
#include <future>
#include <atomic>
#include <functional>
#include <list>
#include <shared_mutex>
#include <condition_variable>
#include <iostream>
#include <list>
#include <new>
#include <algorithm>
using namespace std;
void foo(condition_variable& t1, unique_lock<mutex>& t2) {
t1.wait(t2);
cout << "Skonczylem" << endl;
}
int main()
{
mutex temp;
unique_lock<mutex> guard(temp);
condition_variable cv;
cv.notify_one();
thread t(foo, cv, guard);
t.join();
}
Kod ten powoduje następujące błędy:
Błąd C2661 "std::tuple<void (__cdecl *)(std::condition_variable &,std::unique_lock<std::mutex> &),std::condition_variable,std::lock_guard<std::mutex>>::tuple": brak przeciążonej funkcji przyjmującej 3 argumenty
Błąd C2672 „invoke”: nie znaleziono zgodnej przeciążonej funkcji