【发布时间】:2012-06-06 10:03:36
【问题描述】:
我在处理 noexcept 时遇到了一些麻烦。
template <int SIZE>
int pop(int idx) noexcept(noexcept(SIZE > 0)) // this is what I dont understand
{
if (idx <= 0)
throw std::out_of_range("My array doesnt go that high");
return idx;
}
这只是一个简单的函数,但你看它是如何只在 idx 0),我试图告诉编译器这个函数只有在 idx > 0 时才抛出异常。我这样做对吗?
感谢任何帮助,我希望我解释正确。只是一些简单的解释会很棒。
【问题讨论】:
-
如果其他人有同样的问题,K-ballo 回复会有所帮助,而且en.cppreference.com/w/cpp/language/noexcept_spec 真的很有帮助