c++ - MS Visual Studio 错误消息 E0147 中的 C++ 头文件
问题描述
作为一名初级程序员,我正在学习 C++ 编程的基础知识,包括头文件的创建。我正在关注教授在 Youtube 上的讲座,并重新创建了相同的代码结构来存储下面的类整数。我收到以下类行的编译错误消息。
错误(活动)E0147 声明与“int MyInteger::get() const”不兼容
#include<iostream>
class MyInteger
{
private:
int i;
public:
void set(int);
int get() const;
};
void MyInteger::set(int a)
{
i = a;
}
void MyInteger::get() const
{
return i;
};
int main() {
std::cout << "Hello, world!\n";
std::cin.get();
}
解决方案
您的错误来自编辑器,它声明int MyInteger::get() const
声明与类中的声明不兼容。这是真的,因为在类中,您的get()
方法被声明为,
int get() const;
但在您的定义中,它的返回类型设置为void
,
void MyInteger::get() const
{
return i;
};
这是错误。要修复它,请将返回类型定义为int
,
int MyInteger::get() const
{
return i;
} // You dont need a semicolon here.
附加:
MSVC 中有 3 种类型的错误消息,
- 以“E”开头的错误表明它来自编辑器。
- 以“C”开头的错误表明它来自编译器(编译时)。
- 以“L”开头的错误表明它来自链接器。
推荐阅读
- dask - 找不到 Dask PicklingError 函数
- python - Selenium / asyncio - 使用 Executor 而不重新生成 webdriver
- sql-server - 如何在另一个 Tablix 中使用 Matrix 中的 Pivoted Column 值并在其上编写表达式
- git - 我应该如何清理由 `git update-ref` 创建的文件和目录?
- javascript - 按名称对 javascript 对象中的属性进行分组和提取
- python - 如何在 JSON 数组 python 中访问 JSON 对象?
- vba - 无法在 VBA 中使用 Lapack DGETRF/DGETRI 反转矩阵
- swiftui - 如何预览依赖于 PresentationMode 的 SwiftUI 按钮?
- python - 如何使用 tkinter 事件“继续”或暂停不同的 while 循环?
- node.js - 即使在 knex.destroy() 之后,承诺仍然悬而未决