我想写一个像这样的c ++函数:
#include <system_error>
std::errc f() { return std::errc::success; }
Run Code Online (Sandbox Code Playgroud)
但我无法理解如何使用std :: errc'enum class'type返回成功的值(在本例中为0).我看到的一种方法是返回int:
template <typename E>
constexpr typename std::underlying_type<E>::type to_underlying(E e) {
return static_cast<typename std::underlying_type<E>::type>(e);
}
int f() { is_succ() ? 0 : to_underlying(err); }
Run Code Online (Sandbox Code Playgroud)
但它对我来说看起来很难看.是从标准c ++ 0x14中的函数返回面向C的成功/错误代码的标准方法吗?
PS.我正在使用MS VC 2015补丁2.
当我运行我的代码时,我遇到了关于boost-python的问题.像这样:
dyld: Symbol not found: _PyBaseObject_Type
Referenced from: /opt/local/lib/libboost_python-mt.dylib
Expected in: flat namespace
Run Code Online (Sandbox Code Playgroud)
几个月前我的项目可以正常运行.但是现在,当我重新配置环境时,它无法运行.
- 几个月前,我使用自制软件来配置环境,就像这样:
brew install boost
brew install python
brew install boost-python
brew install opencv(My project is an Opencv project)
Run Code Online (Sandbox Code Playgroud)
- 但现在,它不起作用,错误就像上面一样.所以我使用Macports来安装boost,如下所示:
sudo port install boost
sudo port install py27-pip
sudo port select --set python python27
sudo port select --set pip pip27
sudo port install py27-numpy
brew install opencv(The version of opencv in port is 3.0, so i use brew)
Run Code Online (Sandbox Code Playgroud)
- 但它有同样的问题.
谁知道如何处理这个问题?是关于boost-python的吗?我应该如何正确安装boost-python?它是关于boost/boost-python的版本?
我有这个字符串“2017-03-05-02-10-10_78205”,我想将它与此模式匹配,[0-9]{4}(-[0-9]{2}){5}_[0-9]+但它在 CMake 上不起作用。在 CMake 中查看此示例:
set(stuff "2017-03-05-02-10-10_78205")
if( "${stuff}" MATCHES "[0-9]{4}(-[0-9]{2}){5}_[0-9]+")
message("Hello")
endif()
Run Code Online (Sandbox Code Playgroud)
CMake 似乎不支持语法{n}。显然,我用那个模式解决了我的问题[0-9-]+_[0-9]+
不过,我想知道我的语法是否有问题{n}。CMake 支持吗?如果没有,如何使用 CMake 定义特定的重复次数?
我使用的是旧的 CMake 版本 (2.8.11.2)。
我正在创建一个Thread :: Queue元素数组.我是这样做的:
for (my $i=0; $i < $queues_amount; $i++){
$queues[i]=Thread::Queue->new;
}
Run Code Online (Sandbox Code Playgroud)
然而,虽然我正在用这样的元素填充每个队列
$queues[$index]->enqueue($element);
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
无法在未定义的值上调用方法"enqueue"...
你能帮我找出问题所在吗?
我的perl版本是5.12.2.