C2065:未声明的标识符错误 解决办法

初略看代码,已经声明过变量,依然出现未声明的标识符错误

	if (depth == 8) {
		cv::Mat img(height, width, CV_8UC1); //无符号
	}
	else {
		cv::Mat img(height, width, CV_16UC1); //无符号
	}
	std::cout << img.rows;

问题出在if语句中,其实这只是一个临时变量,在出了if语句就不存在了

解决方式:在if语句外声明,在if语句内初始化

	cv::Mat img;
	if (depth == 8) {
		img.create(height, width, CV_8UC1); //无符号
	}
	else {
		img.create(height, width, CV_16UC1); //无符号
	}
	std::cout << img.rows;

你可能感兴趣的:(c/c++)