【发布时间】:2013-02-18 12:05:23
【问题描述】:
我尝试了 Structure of Mat,我的应用显示为“运行失败”。还有其他方法吗?
以下是我尝试过的代码,但它失败了。如何进行这种锻炼或有其他方法?
“Common.h”
struct initialize {
cv :: Mat G_Sm;
};
“初始化.cpp”
struct initialize* initfunction ( ) {
struct initialize* initializemat = ( initialize* ) malloc(sizeof(*initializemat));
initializemat -> G_Sm = Mat:: zeros ( 3,1, CV_8U );
return (initializemat);
}
“main.cpp”
int main () {
struct initialize* initializem = initfunction ();
cout << initializem -> G_Sm << endl;
return 0;
}
如果我使用“int”而不是 Mat,程序不会崩溃。如果它是结构中的“Mat”变量,程序就会崩溃。
【问题讨论】:
-
Mat是指针类型吗? -
您在未初始化的
cv::Mat上使用cout。 -
@sgar91 即使我注释掉 cout 它的结果也是一样的。
-
@DanielFischer Mat 不是指针
-
@sgar91 未定义的行为未定义。它可能看起来像你想要的那样,但它仍然不是一个有效的程序。