c++ - 类声明的编译错误 "looks like a function definition"是什么意思?

标签 c++ visual-studio

我最近遇到了这个问题。我发现很多人都在问这个问题—— here, for example ——但没有具体的答案。

这是从该链接中提取的示例代码:

class AFX_BASE_APPLICATION_APP_CLASS CFileExtension 
{
public:
   CFileExtension ();           
   virtual ~CFileExtension ();
};

这产生的错误是:

c:\FileExtension.h(14) : error C2470: 'CFileExtension' : 看起来像函数定义,但没有形参列表;跳过明显的 body

最佳答案

您几乎肯定错过了定义 AFX_BASE_APPLICATION_APP_CLASS 的标题。在这种情况下,它会原封不动地通过,VC++ 会假设 CFileExtension 是一个返回 class AFX_BASE_APPLICATION_APP_CLASS 的函数。

而且,既然它认为它是一个函数,它也认为它需要括号。

您只需要找到 AFX_BASE_APPLICATION_APP_CLASS 的定义位置和 #include 该文件。

关于c++ - 类声明的编译错误 "looks like a function definition"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/684715/

相关文章:

c++ - 将 size_t 转换为 vector<unsigned char>

c++ - 如何更新std::set的现有元素?

c++ - boost asio优先级和链

c# - 安装 Visual Studio 2017 后重新安装 Visual Studio 2015?

c# - 如何制作代码片段并将其添加到 Visual Studio 中的 Snippet intellisense?

c++ - std::for_each 在不可复制对象的 vector 上

c++ - C++ 翻译单元的语法

c++ - 什么提供了 C/C++ 运行时库?

mysql - 如何使用 C# Visual Studio 执行 MySql 存储过程

typescript - 如何在 Visual Studio 2019 错误列表中显示 eslint 错误