c++ - 在可视化解决方案 C++ 中出现链接器错误
问题描述
一个项目有两个文件 Hello.h 和 Hello .cpp
你好.h
#include <string>
#include <iostream>
class Hello{
void print ();
}
你好.cpp
#include <Hello.h>
void Hello:: print (){
std::cout << "hello";
}
主文件
#include "Hello.h"
int main(){
Hello hl;
hl.print();
}
获取未定义的打印参考。在 Visual Studio 中如何设置要链接的目标文件?
解决方案
我在这里看到两件事(您面临的未定义参考是由于第一点):
在
Hello.cpp
中,您已将标题包含为#include <Hello.h>
而不是#include "Hello.h"
. 后者是当我们想要包含用户创建的头文件时我们应该做的,除非您已将头文件添加到系统头文件列表中(我假设您没有这样做)。有关更多信息,请参见包含语法。默认情况下,一个类会将其成员设为私有。因此,如果要访问该函数
print()
,则应将其指定为该类的公共成员函数。这会抛出错误: 'void Hello::print()' is private in this context,但由于上述观点,您没有得到这个。
推荐阅读
- java - REST API - 客户端会话状态与数据库会话状态
- javascript - 通过单击多个输入文件中的删除链接来删除选定的文件
- amazon-web-services - AWS EC2 Powershell 命令/脚本来显示服务器名称
- generics - 如何在 JavaFX8 中泛化为 TableView 的 FilteredList 创建谓词?
- powershell - 为什么在存储安全字符串时会这样做?
- spring - Spring Framework JDBC - 数据库密码更改
- javascript - 创建 Firestore 对象数组时出现问题
- tableau-api - Tableau - LOD 计算是什么?
- r - 无法在 Windows 上安装 [R] 软件包 slidify
- ssl - 带有 IP 地址的 Google 托管证书