我试图从我的类中生成一个线程,并且该线程在我的类中执行一个特定的方法.代码如下所示:
class ThreadClass{
int myThread(int arg){
// do something
}
void createThread(){
thread t = thread(myThread,10);
}
} ;
Run Code Online (Sandbox Code Playgroud)
编译时的这段代码会引发错误说法
std::thread::thread(_Callable&&, _Args&& ...) [with _Callable = int (ThreadClass::*)(int), _Args = {int}]
no known conversion for argument 1 from ‘<unresolved overloaded function type>’ to ‘int (ThreadClass::*&&)(int)’
Run Code Online (Sandbox Code Playgroud)
我不确定这里的实际错误是什么.有人可以帮我弄这个吗?
谢谢.
我最近刚开始编写OCaml代码,因此这可能是一个天真的问题.但我自己无法解决这个问题.
我在OCaml中有以下类型声明.
type myType =
| Int of int
Run Code Online (Sandbox Code Playgroud)
现在我有一个myType类型的对象.
有没有办法访问此对象包含的int值?如果有,怎么样?
我正在尝试使用以下代码在OCaml中创建一堆元组
let (k : (string*string) Stack.t) = Stack.create ;;
Run Code Online (Sandbox Code Playgroud)
但是当这样做时,我在编译时会出错
Error: This expression has type unit -> 'a Stack.t
but an expression was expected of type (string * string) Stack.t
Run Code Online (Sandbox Code Playgroud)
对OCaml来说是个新手.有人能指出我哪里错了吗?