gpt4 book ai didi

c++ - “CalucateNumbers”缺少异常规范 'noexcept'

转载 作者:行者123 更新时间:2023-12-02 23:47:14 25 4
gpt4 key购买 nike

我是 C++ 初学者

我在设置 header 类值时遇到问题。

CalucateNumbers::CalucateNumbers() {
ResetValues();
}

void CalucateNumbers::ResetValues() {
firstNumber = 0;
secondNumber = 8;
}

CalucateNumber 缺少异常规范 noexcept

请帮忙?

这是 C plus plus 代码文件,名为 FBullCowGame.cpp

#include "FBullCowGame.hpp"

FBullCowGame::FBullCowGame() {
Reset();
}

void FBullCowGame::Reset() {
CurrentTries = 0;
MaxTries = 8;
}

这是名为 FBullCowGame.hpp

的头文件
#ifndef FBullCowGame_hpp
#define FBullCowGame_hpp

#include <stdio.h>
#include <string>

#endif /* FBullCowGame_hpp */


class FBullCowGame {
public:
void Reset(); // TODO Make a reset void
// Not important.., The important is this ^^
private:
int CurrentTries;
int MaxTries;
};

Here is the MCVE on godbolt .

最佳答案

当被问及定义是否与标题匹配时,您说“是的,确实如此”,这是错误的。它与标题不匹配,因为它甚至不存在于标题中!

您的类 FBullCowGame 未声明自定义构造函数,因此编译器创建了一个默认构造函数。然后,您尝试创建一个自定义构造函数,编译器认为您正在尝试实现默认构造函数(恰好是 noexcept),因此它会显示“此重新声明与隐式声明不匹配” ”

你真正的问题是你忘记告诉编译器“我要给这个类一个自定义构造函数。”

class FBullCowGame {
public:
FBullCowGame(); // <----- you forgot this
void Reset(); // TODO Make a reset void
// Not important.., The important is this ^^
private:
int CurrentTries;
int MaxTries;
};

(您的头文件中的 #ifdef 保护范围也存在问题。)

关于c++ - “CalucateNumbers”缺少异常规范 'noexcept',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49516548/

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