【发布时间】:2010-12-09 22:45:16
【问题描述】:
我无法让线程与OpenCV 一起工作。问题出在我的代码的 ThreadStart() 部分。
public ref class circles
{
public:
static void circleFind(bool isPhoto, const char * windowName1, const char * windowName2, const char * photoName)
{(stuff)}
};
int main(int argc, char* argv[])
{
const char *windowName1;
const char *windowName2;
const char *photoName;
windowName1 = "Find Circles";
windowName2 = "Gray";
photoName = "Colonies 3.jpg";
bool isPhoto = false;
//circles(isPhoto, windowName1, windowName2, photoName);
Thread^ circleThread = gcnew Thread(
gcnew ThreadStart (&circles::circleFind(isPhoto, windowName1, windowName2, photoName) ));
circleThread->Start();
area(isPhoto, photoName);
return 0;
}
这不是所有的代码,而是重要的部分。我得到的错误是:
1>..\..\..\..\..\..\..\Program Files (x86)\OpenCV\samples\c\circle dection.cpp(130):错误 C2102:' &' 需要左值
1>..\..\..\..\..\..\..\Program Files (x86)\OpenCV\samples\c\circle dection.cpp(130):错误 C3350:' System::Threading::ThreadStart' : 委托构造函数需要 2 个参数
【问题讨论】:
标签: .net c++ multithreading static opencv