gpt4 book ai didi

尝试抛出异常时出现c++模板化函数错误

转载 作者:太空狗 更新时间:2023-10-29 23:34:13 25 4
gpt4 key购买 nike

我有一些代码试图在模板化方法中抛出自定义异常。当我尝试编译它时,我收到以下警告:

there are no arguments to ‘Invalid_State_Exception’ that depend on a 
template parameter, so a declaration of ‘Invalid_State_Exception’ must
be available
note: (if you use ‘-fpermissive’, G++ will accept your code, but
allowing the use of an undeclared name is deprecated)

到目前为止,我还没有找到解决这个问题的办法。任何建议都会很棒。这是一些示例代码,解释了我所拥有的 (Foo.h):

 template <class T> class Foo
{
public:
void do_stuff(T t)
{
if(bar == true)
{
throw Invalid_State_Exception("FooBar error occurred");
}
}

....
};

class Invalid_State_Exception : public std::runtime_error
{
public:
Invalid_State_Exception(const std::string& msg) :
std::runtime_error(msg) { }
};

最佳答案

Invalid_State_Exception 的声明移到 Foo 之上。

关于尝试抛出异常时出现c++模板化函数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5009071/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com