C++ LNK1120 和 LNK2019 错误:“无法解析的外部符号 WinMain@16”

2023-11-27

我正在尝试做戴特尔书中的另一个练习。该程序计算每月利息并打印每个储户的新余额。由于练习是与动态内存相关的章节的一部分,因此我使用“new”和“delete”运算符。由于某种原因,我收到这两个错误:

LNK2019:函数 ___tmainCRTStartup 中引用了无法解析的外部符号 WinMain@16

致命错误 LNK1120:1 个未解析的外部

这是类头文件。

//SavingsAccount.h
//Header file for class SavingsAccount

class SavingsAccount
{
public:
    static double annualInterestRate;

    SavingsAccount(double amount=0);//default constructor intialize  
                                        //to 0 if no argument

  double getBalance() const;//returns pointer to current balance
  double calculateMonthlyInterest();
  static void modifyInterestRate(double interestRate):

  ~SavingsAccount();//destructor

private:
    double *savingsBalance;
};

包含成员函数定义的 Cpp 文件

//SavingsAccount class defintion
#include "SavingsAccount.h"

double SavingsAccount::annualInterestRate=0;//define and intialize static data
                                        //member at file scope


SavingsAccount::SavingsAccount(double amount)
:savingsBalance(new double(amount))//intialize savingsBalance to point to new object
{//empty body
}//end of constructor

double SavingsAccount::getBalance()const
{
    return *savingsBalance;
}

double SavingsAccount::calculateMonthlyInterest()
{
    double monthlyInterest=((*savingsBalance)*annualInterestRate)/12;

    *savingsBalance=*savingsBalance+monthlyInterest;

    return monthlyInterest;
}

void SavingsAccount::modifyInterestRate(double interestRate)
{
    annualInterestRate=interestRate;
}

SavingsAccount::~SavingsAccount()
{
    delete savingsBalance;
}//end of destructor

最后结束驱动程序:

#include <iostream>
#include "SavingsAccount.h"

using namespace std;

int main()
{
SavingsAccount saver1(2000.0);
SavingsAccount saver2(3000.0);

SavingsAccount::modifyInterestRate(0.03);//set interest rate to 3%

cout<<"Saver1 monthly interest: "<<saver1.calculateMonthlyInterest()<<endl;
cout<<"Saver2 monthly interest: "<<saver2.calculateMonthlyInterest()<<endl;

cout<<"Saver1 balance: "<<saver2.getBalance()<<endl;
cout<<"Saver1 balance: "<<saver2.getBalance()<<endl;

return 0;
}

我花了一个小时试图解决这个问题但没有成功。


转到“链接器设置 -> 系统”。将“子系统”字段从“Windows”更改为“控制台”。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ LNK1120 和 LNK2019 错误:“无法解析的外部符号 WinMain@16” 的相关文章

随机推荐

  • 为什么 Kotlin 不允许将 Lateinit 与原始类型一起使用?

    在 Kotlin 语言中 默认情况下 我们必须在引入每个变量时对其进行初始化 为了避免这种情况 lateinit可以使用关键字 参考一个lateinit变量在初始化之前会导致运行时异常 lateinit但是 不能与原始类型一起使用 为什么会
  • label: .word label 在 ARM 汇编中的含义是什么

    我正在uboot中查看以下序列 globl start start b reset ldr pc undefined instruction ldr pc software interrupt ldr pc prefetch abort l
  • Rails3 中的远程 form_tag 没有命名路由

    使其真正异步发布的正确咒语是什么 form tag controller gt magic action gt search method gt post remote gt true do method post 和remote true
  • 在 Android 中获取外部 SD 卡位置

    我有一个应用程序 在 SD 卡中预存了大量数据 我们支持所有平板电脑ICS 以后 我无法找到在所有设备上正确访问 SDCard 位置的方法 我查看了这里给出的各种解决方案 但它们似乎并不适用于所有情况 寻找通用解决方案 即使有人能告诉我SD
  • 不安全的 JavaScript 尝试通过 URL 访问框架

    我有一个带有 Iframe 的页面和来自 Iframe 的 Javascript 可以访问父框架的功能 这些页面位于同一服务器上 不是跨域脚本 我对 FF 和 IE 没有任何问题 但当我在 Chrome 上使用它时 我收到以下消息 不安全的
  • 未知标签 (c:foreach)。日食中

    我有 jstl 代码 它由 maven 构建得很好 但是 Eclipse 出现编译错误 未知标签 c foreach 代码在这里
  • JavaFX 自定义控件(TextField)不起作用

    我正在尝试使用 JavaFX 和 SceneBuilder 1 1 制作自定义控件 我有这个代码 FXML
  • 如何在Windows azure辅助角色中创建多个线程

    我想在一个辅助角色中执行多个操作 如何以辅助角色创建线程 您可以在中添加多个工人WorkerRole OnStart 如此处所述http www 31a2ba2a b718 11dc 8314 0800200c9a66 com 2010 1
  • JavaScript 通过代码模拟右键单击

    我正在使用 Selenium 编写一些 UI 测试 并且我有一个使用 Dojo 工具包的 JavaScript 树控件 我已经使用 Dojo 提供的示例为树的每个节点实现了一个上下文菜单 但我需要 Selenium 测试来 调用 树节点上的
  • Bootstrap不使用复选框的“checked”属性

    我正在使用引导程序 我有一个表 标题和每列中都有一个复选框 我试图在 jQuery 上实现 检查所有 功能 但引导程序似乎不使用检查属性 正如我所看到的 它在我的复选框周围添加了 span 标签 并向其添加了一个 checked 类 是否有
  • XPath - 选择一个或另一个元素

    我正在使用 XPath 从 HTML 文档中获取一个元素 该元素必须有一个特定的id 或者如果id不存在 则获取一个保证存在的元素 例如body元素 要通过 id 获取元素 我使用 css may not exist 为了获得后备元素 比如
  • 使用 Viewbox 缩放/拉伸在 WPF 中维护固定粗细的线条

    我有一个
  • Spring Cloud Gateway 用于复合 API 调用?

    我开始构建一个微服务 API 网关 并且正在考虑使用 Spring Cloud 来帮助我进行路由 但某些对网关 API 的调用将需要对不同服务发出多个请求 假设我有 2 项服务 订单详情服务 and 送货服务 我想要一个网关端点获取 订单
  • 替换spark Dataframe中所有列名称中的空格

    我的 Spark 数据框的某些列名称中带有空格 必须用下划线替换 我知道可以使用以下命令重命名单个列withColumnRenamed 在sparkSQL中 但要重命名 n 个列 这个函数必须链接 n 次 据我所知 为了自动化此操作 我尝试
  • Scala 中私有构造函数有什么用?

    在 Java 中 最常见的用法之一是定义 Singleton 类 然而 由于 Scala 中没有 静态 类 那么私有构造函数的使用示例有哪些 您可以访问类的伴随对象中的私有构造函数 这允许您创建创建类的新实例的替代方法 而无需公开内部构造函
  • 渐变/淡化 CSS 框阴影?

    我有一个正在尝试构建的 CSS 下拉菜单 并且下拉菜单的背景有一个褪色 锥形的框阴影 我很难弄清楚如何让盒子阴影真正变细 淡出 这就是我现在所处的位置 http jsfiddle net Shpigford f9aKR 我尝试过使用 bef
  • 类型错误:无法 pickle _thread.RLock 对象

    在检查了 Stackoverflow 上的所有现有答案后 检查点 keras 模型 TypeError 无法 pickle thread lock 对象和这里 类型错误 无法 pickle thread lock 对象 我还没有发现为什么这
  • browserVignettes 没有找到它们实际所在的位置

    我有一个打包到 github 存储库上有 2 个小插图vignettes 目录 我尝试下载如果devtools像这样的包 gt if require devtools install packages devtools require de
  • 在 VSCode 扩展中构建动态菜单

    我正在编写一个 VSC 插件 在激活时 我想进行 XHR 调用 然后使用该 XHR 的结果填充菜单 似乎没有办法动态地将菜单添加到状态栏或将动态项目添加到项目列表 你不能那样做 所有命令必须预先定义在package json因为它的声明式方
  • C++ LNK1120 和 LNK2019 错误:“无法解析的外部符号 WinMain@16”

    我正在尝试做戴特尔书中的另一个练习 该程序计算每月利息并打印每个储户的新余额 由于练习是与动态内存相关的章节的一部分 因此我使用 new 和 delete 运算符 由于某种原因 我收到这两个错误 LNK2019 函数 tmainCRTSta