Başlıkta ne yazacağımı gerçekten bilmiyordum, ancak temel olarak yalnızca standart kitaplık başlıklarının yer aldığı ve "kullanma" anahtar kelimelerine sahip tek bir .cpp'm var. Kendi "üretmek (...)" işlevini yaptım. Kütüphaneyi dahil ettikten sonra, Visual Studio bana bir hata gösteriyor (fonksiyonun çağrıldığı yer), temel olarak std :: generate (...) ya da create (...) seçip seçmeyeceğini bilmiyor çünkü eşleşen argüman listeleri.Visual Studio, global ad alanında olmayan işlev hakkında uyarı veriyor
Bu bir hata mı, yoksa bir şey mi özledim? Ayrıca VS2015 kullanıyorum da ekleyebilirim. Bu sadece VC++ (2015 VS) olur
1>------ Build started: Project: Functor, Configuration: Debug Win32 ------
1> Main.cpp
1>c:\users\michael sund\documents\visual studio 2015\projects\gi_cpp\functor\main.cpp(44): warning C4244: 'argument': conversion from 'time_t' to 'unsigned int', possible loss of data
1>c:\users\michael sund\documents\visual studio 2015\projects\gi_cpp\functor\main.cpp(50): error C2668: 'generate': ambiguous call to overloaded function
1> c:\users\michael sund\documents\visual studio 2015\projects\gi_cpp\functor\main.cpp(7): note: could be 'Function generate<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<int>>>,Random>(Iter,Iter,Function)'
1> with
1> [
1> Function=Random,
1> Iter=std::_Vector_iterator<std::_Vector_val<std::_Simple_types<int>>>
1> ]
1> c:\program files (x86)\microsoft visual studio 14.0\vc\include\algorithm(1532): note: or 'void std::generate<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<int>>>,Random>(_FwdIt,_FwdIt,_Fn0)' [found using argument-dependent lookup]
1> with
1> [
1> _FwdIt=std::_Vector_iterator<std::_Vector_val<std::_Simple_types<int>>>,
1> _Fn0=Random
1> ]
1> c:\users\michael sund\documents\visual studio 2015\projects\gi_cpp\functor\main.cpp(50): note: while trying to match the argument list '(std::_Vector_iterator<std::_Vector_val<std::_Simple_types<int>>>, std::_Vector_iterator<std::_Vector_val<std::_Simple_types<int>>>, Random)'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Lütfen ilgili kodu, tercihen bir [MCVE] (http://stackoverflow.com/help/mcve) gönderin. –
... ve hata metni * verbatim *. – WhozCraig
Kendi sorunuzu cevapladınız: Aynı isimle ve aynı imzayla iki fonksiyonunuz var. "Sürümünüzü" istediğiniz derleyiciye anlatmak için ':: generate()' seçeneğini kullanın. Daha iyi, kendi ad alanınızı oluşturmayı düşünün. Ya da işlevinize farklı bir ad veriyor. – paulsm4