gpt4 book ai didi

C++ 错误 C2040 : 'e' : 'Logger' differs in levels of indirection from 'const std::exception &'

转载 作者:行者123 更新时间:2023-11-30 03:45:45 24 4
gpt4 key购买 nike

我收到这个错误:

C++ 错误 C2040:“e”:“Logger”的间接级别与“const std::exception &”不同

我已经看到这个错误通常发生在某些东西被声明两次时,但我看不出有什么问题。请看看我的尝试,因为我正在尝试创建一个记录器类。

main.cpp

#include "Logger.h"
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int main() {
try
{
string("abc").substr(10);
}
catch (const exception &e)
{
Logger e;
}

system("PAUSE");
return 0;
}

最佳答案

我相信您认为您正在将 e 传递给 Logger 构造函数,但实际上您正在创建一个名为 e 的新变量。

代替

catch (const exception &e)
{
Logger e;
}

尝试

catch (const exception &e)
{
Logger l(e);
}

关于C++ 错误 C2040 : 'e' : 'Logger' differs in levels of indirection from 'const std::exception &' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34562607/

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