C++ 在字符串流中使用来自github的代码时出错
我使用Visual Studio 2013中(颜色文件夹)中的代码从Kinect v2捕获颜色数据。但是当我想运行代码时,C++ 在字符串流中使用来自github的代码时出错,c++,visual-studio-2013,C++,Visual Studio 2013,我使用Visual Studio 2013中(颜色文件夹)中的代码从Kinect v2捕获颜色数据。但是当我想运行代码时,util.h文件中的这些代码行会导致编译错误: #define ERROR_CHECK( ret ) \ if (FAILED(ret)){ \ std::
util.h
文件中的这些代码行会导致编译错误:
#define ERROR_CHECK( ret ) \
if (FAILED(ret)){
\
std::stringstream ss; \
std::ss << "failed " #ret " " << std::hex << ret << std::endl; \
throw std::runtime_error(ss.str().c_str()); \
}
#定义错误检查(ret)\
如果(失败(ret)){
\
std::stringstream-ss\
std::ss此代码错误,将std::ss
更改为ss
应有助于:
#define ERROR_CHECK( ret ) \
if (FAILED(ret)) { \
\
std::stringstream ss; \
ss << "failed " #ret " " << std::hex << ret << std::endl; \
throw std::runtime_error(ss.str().c_str()); \
}
#定义错误检查(ret)\
如果(失败(ret)){\
\
std::stringstream-ss\
ss这可能不是您想要的,但是如果您只是注释每一行,您的程序是否工作?它“只是”一个stringstream,唯一的目的(据我所知)是在发生错误时打印出来。如果您确实想看到输出,请用某种printf()替换它
#define ERROR_CHECK( ret )
if (FAILED(ret)){
// std::stringstream ss;
// std::ss << "failed " #ret " " << std::hex << ret << std::endl;
// throw std::runtime_error(ss.str().c_str());
printf("Error : FAILED(ret)");
}
#定义错误检查(ret)
如果(失败(ret)){
//std::stringstream-ss;
//std::ss错误已更改:此声明没有存储类或类型说明符;如何在visual studio中运行此代码而不出错?@masoomi,如前所述,您可能不能。GitHub包含大量垃圾。也许可以询问GitHub的作者。@masoomi反复询问这一点不会让您得到更好的回答。我最好的建议是,您不应该这样做当您还不懂该语言时,请从internet下载随机代码。@masoomi您可能已经注意到我还修复了if()
语句后缺少的一行继续符。\n您可以测试此代码吗?需要opencv和kinectsdk2库“将其替换为printf()”吗?您甚至了解该代码的功能吗?@masoomi“需要打开CV和kinectsdk2库”不是为了这段代码,不是。我编辑这篇文章是为了更好地理解它。如果它与“你知道那段代码是什么吗?”不匹配,那么请告诉我那段代码是什么does@John.A.Myer您显示的内容也不会编译。这是一个宏定义。为什么会是printf()
比抛出异常更好吗?