C++ 中的静态构造函数和致命错误 LNK1120: 1 无法解析的外部

2023-12-01

首先,我可能应该让你知道我绝不是一名程序员,我只是为了一项家庭作业而这样做,所以如果可能的话,我将需要一个非常详细的解释:)

我目前有一个 Node 类,用于存储点的坐标。除此之外,我想要用它做的是根据计数器为每个不同的 Node 对象分配一个索引号。根据我从互联网上收集到的信息,我这样做的方式是使用另一个类在构造函数中初始化我的计数器,并且在 Node 类中我只是将其添加为静态参数。

这是我的上述代码:

class counter
{
  public:
    int nr;
    counter()
    {
        nr = 0;
    }
};

class Nod   
{  
  static counter ctr;

  public:   
     int index;      
     Punct pct;
     Nod(Punct &temp)
     {  
         pct = temp;    
         index = ctr.nr ++ ;
     }
     Nod() {}   
}; 

现在,构建没问题,但是一旦我尝试在主函数中声明一个 Nod 对象,我就会收到以下错误: fatal error LNK1120: 1 unresolved externals 并且我完全不知道这是为什么。我以前在尝试编写自己的析构函数时遇到过此错误,但我通过删除那段代码来解决这个问题。

谢谢,如果我对我提到的一些内容使用了错误的术语,我很抱歉。


静态数据成员是declared在课堂上,但必须是defined恰好在一个翻译单元中(= .cpp 文件)。将以下内容放入一个 .cpp 文件(最好是 Nod.cpp)中:

counter Nod::ctr;

顺便说一句,你可以只使用int而不是自定义类counter.

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

C++ 中的静态构造函数和致命错误 LNK1120: 1 无法解析的外部 的相关文章

  • 没有强命名的代码签名是否会让您的应用程序容易被滥用?

    尝试了解authenticode代码签名和强命名 我是否正确地认为 如果我对引用一些 dll 非强命名 的 exe 进行代码签名 恶意用户就可以替换我的 DLL 并以看似由我签名但正在运行的方式分发应用程序他们的代码 假设这是真的 那么您似
  • 我如何才能等待多个事情

    我正在使用 C 11 和 stl 线程编写一个线程安全队列 WaitAndPop 方法当前如下所示 我希望能够将一些内容传递给 WaitAndPop 来指示调用线程是否已被要求停止 如果 WaitAndPop 等待并返回队列的元素 则应返回
  • “构建”构建我的项目,“构建解决方案”则不构建

    我刚刚开始使用VS2010 我有一个较大的解决方案 已从 VS2008 成功迁移 我已将一个名为 Test 的控制台应用程序项目添加到解决方案中 选择构建 gt 构建解决方案不编译新项目 选择构建 gt 构建测试确实构建了项目 在失败的情况
  • 不支持将数据直接绑定到存储查询(DbSet、DbQuery、DbSqlQuery)

    正在编码视觉工作室2012并使用实体模型作为我的数据层 但是 当页面尝试加载时 上面提到的标题 我使用 Linq 语句的下拉控件往往会引发未处理的异常 下面是我的代码 using AdventureWorksEntities dw new
  • BitTorrent 追踪器宣布问题

    我花了一点业余时间编写 BitTorrent 客户端 主要是出于好奇 但部分是出于提高我的 C 技能的愿望 我一直在使用理论维基 http wiki theory org BitTorrentSpecification作为我的向导 我已经建
  • OleDbDataAdapter 未填充所有行

    嘿 我正在使用 DataAdapter 读取 Excel 文件并用该数据填充数据表 这是我的查询和连接字符串 private string Query SELECT FROM Sheet1 private string ConnectStr
  • 如何从 appsettings.json 文件中的对象数组读取值

    我的 appsettings json 文件 StudentBirthdays Anne 01 11 2000 Peter 29 07 2001 Jane 15 10 2001 John Not Mentioned 我有一个单独的配置类 p
  • 堆栈溢出:堆栈空间中重复的临时分配?

    struct MemBlock char mem 1024 MemBlock operator const MemBlock b const return MemBlock global void foo int step 0 if ste
  • 将 VSIX 功能添加到 C# 类库

    我有一个现有的单文件生成器 位于 C 类库中 如何将 VSIX 项目级功能添加到此项目 最终目标是编译我的类库项目并获得 VSIX 我实际上是在回答我自己的问题 这与Visual Studio 2017 中的单文件生成器更改 https s
  • C# 中通过 Process.Kill() 终止的进程的退出代码

    如果在我的 C 应用程序中 我正在创建一个可以正常终止或开始行为异常的子进程 在这种情况下 我通过调用 Process Kill 来终止它 但是 我想知道该进程是否已退出通常情况下 我知道我可以获得终止进程的错误代码 但是正常的退出代码是什
  • 使用 WebClient 时出现 System.Net.WebException:无法创建 SSL/TLS 安全通道

    当我执行以下代码时 System Net ServicePointManager ServerCertificateValidationCallback sender certificate chain errors gt return t
  • 将多个表映射到实体框架中的单个实体类

    我正在开发一个旧数据库 该数据库有 2 个具有 1 1 关系的表 目前 我为每个定义的表定义了一种类型 1Test 1Result 我想将这些特定的表合并到一个类中 当前的类型如下所示 public class Result public
  • 如何在整个 ASP .NET MVC 应用程序中需要授权

    我创建的应用程序中 除了启用登录的操作之外的每个操作都应该超出未登录用户的限制 我应该添加 Authorize 每个班级标题前的注释 像这儿 namespace WebApplication2 Controllers Authorize p
  • 垃圾收集器是否在单独的进程中运行?

    垃圾收集器是否在单独的进程中启动 例如 如果我们尝试测量某段代码所花费的进程时间 并且在此期间垃圾收集器开始收集 它会在新进程上启动还是在同一进程中启动 它的工作原理如下吗 Code Process 1 gt Garbage Collect
  • 使用 x509 证书签署 json 文档或字符串

    如何使用 x509 证书签署 json 文档或字符串 public static void fund string filePath C Users VIKAS Desktop Data xml Read the file XmlDocum
  • 如何使用 C# / .Net 将文件列表从 AWS S3 下载到我的设备?

    我希望下载存储在 S3 中的多个图像 但目前如果我只能下载一个就足够了 我有对象路径的信息 当我运行以下代码时 出现此错误 遇到错误 消息 读取对象时 访问被拒绝 我首先做一个亚马逊S3客户端基于我的密钥和访问配置的对象连接到服务器 然后创
  • 通过指向其基址的指针删除 POD 对象是否安全?

    事实上 我正在考虑那些微不足道的可破坏物体 而不仅仅是POD http en wikipedia org wiki Plain old data structure 我不确定 POD 是否可以有基类 当我读到这个解释时is triviall
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • IEnumreable 动态和 lambda

    我想在 a 上使用 lambda 表达式IEnumerable
  • Windows 和 Linux 上的线程

    我在互联网上看到过在 Windows 上使用 C 制作多线程应用程序的教程 以及在 Linux 上执行相同操作的其他教程 但不能同时用于两者 是否存在即使在 Linux 或 Windows 上编译也能工作的函数 您需要使用一个包含两者的实现

随机推荐

  • Django Rest 框架和 JSONField

    给定一个 Django 模型JSON字段 使用序列化和反序列化它的正确方法是什么Django 休息框架 我已经尝试过创建自定义serializers WritableField并压倒一切to native and from native f
  • 在数字字符串中添加逗号[重复]

    这个问题在这里已经有答案了 我的程序中运行一个值 该值最后会四舍五入到小数点后两位 如下所示 print Total cost is 0 2f format TotalAmount 有没有办法在小数点左边每 3 位插入一个逗号值 e g 1
  • 如何停止“setInterval”[重复]

    这个问题在这里已经有答案了 我该如何停止和开始setInterval 假设我有一个textarea 我想停下来setInterval聚焦并重新启动setInterval模糊 使用 jQuery 你必须存储timer id启动它时的时间间隔
  • 在 SwiftUI 中一一叠加视图

    我有以下带有一个结构和两个视图的代码 点击第一个屏幕覆盖按钮时 我想显示第二个屏幕覆盖并隐藏前一个 依此类推 任何帮助表示赞赏 import SwiftUI struct ContentView View var body some Vie
  • 将向量转换为具有多列的数据框

    我有一个向量 如下所示 99 Hershey 6 7 B 7 4 7 B 562 M Consumer Packaged Goods 100 Costco 6 7 B 14 117 3 B Retail 为了简单起见 我只提到了 700 个
  • 为静态Web应用程序购买域名

    I have deployed a static web application Gatsby now I want purchase a domain If the web was deployed to Azure App Servic
  • 如何选择/取消选择所有复选框?

    我有一个带有图像视图 文本视图和复选框的适配器 以及用于选择所有复选框的 全选 按钮 我搜索了很多关于如何执行此操作 选择所有复选框 的信息 但它不起作用 谁能解释更多我应该做什么 拜托 我必须做这件事紧急 这是我的适配器 Public c
  • 将 SQL 转换为 HQL [关闭]

    Closed 这个问题是无关 目前不接受答案 我正在尝试将以下 SQL 查询转换为 HQL 但遇到了一些问题 逐行直线转换不起作用 我想知道是否应该在 HQL 中使用 Inner Join SELECT UNIX TIMESTAMP cos
  • 为什么在安装 .NET Core 2.1.3 时出现 HTTP 错误 502.5

    我为运行 Windows Server 2016 的新计算机安装了 NET Core 版本 2 1 3 我将其托管在 IIS 10 中 但它给了我错误 502 HTTP 错误 502 5 进程失败 此问题的常见原因 申请进程无法启动 申请流
  • TYPO3 StoragePid 和当前

    我构建了一个简单的注释 extbase 扩展 我想将其与打字稿一起包含在项目扩展 也是 extbase 中 项目扩展中的流畅代码如下所示
  • UITableViewCell 重用良好实践

    UITableViewCell tableView UITableView tableView cellForRowAtIndexPath NSIndexPath indexPath static NSString CellIdentifi
  • React.js 中刷新时丢失 useState 值

    我正在发送一个id from ProductListing组件 我收到了id using useParams in ProductDetail成分 在ProductDetail组件我正在使用 find 方法查找一个对象 然后将其设置为sin
  • 如何测量图像中的环境光水平?

    我正在考虑制作一个应用程序 使用相机来测量拍摄图像时存在的光量 一些条件行为会根据存在的光线量而发生 即 如果看起来很黑 则显示一条消息 看起来像睡觉时间 我知道这对于由于曝光等原因而存在的实际光量来说是一个相当糟糕的测量 但它不需要非常准
  • ReactJS - 使用重定向组件传递道具

    你应该如何传递 propsRedirect组件而不将它们暴露在 url 中 像这样
  • SFU 的特殊 CUDA 双精度三角函数

    我想知道我将如何使用 cos x 和分别 sin x 在带有 CUDA 的内核代码中 我在 CUDA 手册中查找到有这样一个设备函数 但是当我实现它时 编译器只是说我无法调用设备中的主机函数 然而我发现有两个姐妹函数cosf x and c
  • Nodejs多列独特mongoose的组合

    客观的 为两列创建唯一性 我尝试了什么 这是我的架构 var mongoose require mongoose location table Schema var locationSchema new mongoose Schema lo
  • Leaflet GeoJSON 是否可以在到达目的地之前裁剪线要素?

    有没有一种简单的方法可以缩短 GeoJSON 图层上的线条 我有一条线 它从 A 点到 B 点 我希望这条线在标记的半径附近停止 那可能吗 有点像从线路终点 起点的偏移量 这是一个例子 我有 50 x 50 的图标 但半透明 参见图片 并且
  • getIntent.getExtras.getString() 中的 null 值

    这是我在第一个活动中的代码 Intent i new Intent this OtherScreen class i putExtra id1 first i putExtra id2 second startActivity i 其中第一
  • 使用仅具有 id 值的实体保存外键

    如果我有两个休眠实体 例如 Entity class Company Id Integer id String name Entity class Person Integer id String name ManyToOne Compan
  • C++ 中的静态构造函数和致命错误 LNK1120: 1 无法解析的外部

    首先 我可能应该让你知道我绝不是一名程序员 我只是为了一项家庭作业而这样做 所以如果可能的话 我将需要一个非常详细的解释 我目前有一个 Node 类 用于存储点的坐标 除此之外 我想要用它做的是根据计数器为每个不同的 Node 对象分配一个