C++ 和 Visual Studio 2017:错误 c4430 [重复]
Posted
技术标签:
【中文标题】C++ 和 Visual Studio 2017:错误 c4430 [重复]【英文标题】:C++ and visual studio 2017: error c4430 [duplicate] 【发布时间】:2017-11-25 05:57:38 【问题描述】:我正面临一个非常愚蠢和令人愤怒的问题,我正在观看一个关于如何制作 roguelike 的视频,在知道如何将关卡打印到屏幕上并实际开始编码后,我决定停下来,然后我遇到了多个错误在完美的代码上,我责备了构造函数,所以我决定在 Visual Studio 上创建一个新项目来测试最愚蠢的情况,一个主要功能,一个类,一个构造函数什么都不做,我离开了制作类的所有工作和 Visual Studio 的构造函数,我仍然遇到了该死的问题,这是代码简化版本的错误,我会显示类似流氓的代码,但我必须自己将错误翻译成英文,而且大多数都有与实际错误无关,因为他们主要抱怨丢失;在不应该有的地方;或者已经有一个了。
here's the code
main.cpp:
#include "stdafx.h"
int main()
return 0;
test.h
#include "stdafx.h"
class test
public:
test();
;
test.cpp
#include "test.h"
#include "stdafx.h"
test::test()
然而,有了这个简单的自动生成代码,visual studio 仍然抱怨并给我这个错误消息
c4430 缺少类型说明符 - 假定为 int。注意:C++ 不支持 default-int
c2653 'test' : 不是类或命名空间名称
'test' : 函数应该返回一个值; 'void' 假定返回类型
我该怎么办?
【问题讨论】:
` #include "test.h" #include "stdafx.h"` 颠倒顺序? 编译器假定直到#include "stdafx.h"
之前的所有内容都已预编译,因此不会再次编译。在订购#include
s 时,您必须考虑到这一点。
【参考方案1】:
如果你的函数返回不是 void,你必须明确定义返回类型并返回该类型的值。否则你会得到那个错误。
class A
int int_func();
void void_func();
;
int A::int_func()
return 0;
void A::void_func()
// No return;
【讨论】:
以上是关于C++ 和 Visual Studio 2017:错误 c4430 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Visual Studio 2017 中创建 Visual c++ MFC 控制台项目
Visual Studio 2017 15.5 打破 C++ TypeDefs
Visual Studio 2017 c++ win32 控制台项目模板
在 Visual Studio 2017 中使用 64 位 Visual C++ 工具集