如何在C++中克服此 C4430 编译器错误?
How can I get past this C4430 Compiler Error in C++?
我对编码场景非常陌生,对C++编码更是如此。 我目前正在为我的类构建一个侧程序,因为它是强烈推荐的,但我似乎无法编译它。 我不断收到 C4430 错误(缺少类型说明符 - 假设为 int(。 我在我的阅读材料中也没有看到这样的东西,所以我想我会在这里寻求帮助,因为第二双眼睛总是一个好主意。 如果很重要,我正在使用Visual Studio 2019社区版进行编码Microsoft。 我还在学习,但我现在也习惯了用 Java 编码,所以我不知所措。
该程序本身是我用Java编写的程序,我已经适应了C++使用。 这是一个非常基本的工资计算程序,可以吐出每周、每月和每年的工资,同时还考虑税收。 最初,它在 Java 中包含扫描仪实用程序,但我还没有在 C++ 中看到类似的东西。 理想情况下,它会毫无问题地吐出这些信息。
我尝试在代码末尾添加return 0;
,但我仍然得到 C4430。 我还将我的main
重新归类为double
而不是int
,但无济于事。
我在下面包含了我的代码:
#include <iostream>
double salaryCalculator; main ()
{
double hourlyWage = 15.00;
int hoursWorkedWeek = 40;
double weeklyWage = 0.0;
double monthlyWage = 0.0;
double annualWage = 0.0;
double overtimeHours = 3.0;
double overtimeMulti = 1.5;
double overtimeHourlyWage = 0.0;
double overtimeTotalWage = 0.0;
overtimeHourlyWage = hourlyWage * overtimeMulti;
overtimeTotalWage = overtimeHourlyWage * overtimeHours;
std::cout << "You have /n" << overtimeHours << "hours of overtime at a rate of " << overtimeHourlyWage << "an hour, for a total of " << overtimeTotalWage;
weeklyWage = overtimeTotalWage + (hoursWorkedWeek * hourlyWage);
std::cout << "Your weekly wage is: /n" << weeklyWage;
monthlyWage = weeklyWage * 4;
std::cout << "Your monthly wage is: /n" << monthlyWage;
annualWage = weeklyWage * 52;
std::cout << "Your annual wage before taxes is: /n" << annualWage;
enum class TaxDeductions;
{
};
double incomeTax = 0.11;
double stateTax = 0.04;
double socialSecurityTax = 0.062;
double medicareTax = 0.0145;
double firstWTax = weeklyWage * incomeTax;
double secondWTax = weeklyWage * stateTax;
double thirdWTax = weeklyWage * socialSecurityTax;
double fourthWTax = weeklyWage * medicareTax;
double weeklyTax = firstWTax + secondWTax + thirdWTax + fourthWTax;
double firstMTax = monthlyWage * incomeTax;
double secondMTax = monthlyWage * stateTax;
double thirdMTax = monthlyWage * socialSecurityTax;
double fourthMTax = monthlyWage * medicareTax;
double monthlyTax = firstMTax + secondMTax + thirdMTax + fourthMTax;
double firstATax = annualWage * incomeTax;
double secondATax = annualWage * stateTax;
double thirdATax = annualWage * socialSecurityTax;
double fourthATax = annualWage * medicareTax;
double annualTax = firstATax + secondATax + thirdATax + fourthATax;
double weeklyTakeHome = weeklyWage - weeklyTax;
double monthlyTakehome = monthlyWage - monthlyTax;
double annualTakeHome = annualWage - annualTax;
std::cout << "Your weekly total take home is /n" << weeklyTakeHome;
std::cout << "Your monthly total take home is: /n" << monthlyTakehome;
std::cout << "Your annual total take home is /n" << annualTakeHome;
return 0;
}
谢谢你的时间。
您忘了为入口点 main (( 指定返回类型!
在主
#include <iostream>
double salaryCalculator;
int main() {
//code body..
return 0;
}
如果您暂时删除函数的主体,您将看到以下内容:
double salaryCalculator; main ()
{
}
或者,使用更好的格式:
double salaryCalculator; // variable declaration
main () // function definition
{
}
但是您尚未指定返回类型main
,因此它默认为int
,编译器会警告您。
为了取悦编译器,请显式指定返回类型:
int main(void) {
// code here
}
相关文章:
- C/C++编译器通常会删除重复的库吗
- 模板-模板参数推导:三个不同的编译器三种不同的行为
- Win32编译器选项和内存分配
- MSVC多行宏编译器错误
- 静态数据成员的问题-修复链接错误会导致编译器错误
- C++,我收到一个无法理解的编译器错误
- 在线编译器中的分段C++没有打印消息
- 如何解决gcc编译器优化导致的centos双编译器设置中的分段错误
- C/C++预处理器是否可以检测一些编译器选项
- 是否有C++编译器选项允许激进地删除所有函数调用,并将参数传递给具有空体的函数
- C++错误C2600:无法定义编译器生成的特殊成员函数(必须首先在类中声明)
- 我需要知道编译器如何在cpp中使用析构函数
- 编译器如何区分std::vector的构造函数
- CLANG 编译器 说:变量"PTR"可能未初始化
- 告诉c++编译器该参数没有别名
- 使用仅使用一次的变量调用的复制构造函数.这可能是通过调用move构造函数进行编译器优化的情况吗
- 为什么所有C++编译器都会崩溃或挂起此代码
- 编译器如何在使用SFINAE的函数和标准函数之间确定两者是否可行
- 如何在C++中克服此 C4430 编译器错误?
- 编译器错误C4430:缺少类型说明符-假定为int