[英]calling a function defined in a header file from a Class constructor in C++
我有一個頭文件,讓我們使用函數的定義將其header1.h
,比如說myFunc()
。 我的C ++項目有一個源文件,我們稱它為main.cpp
和一個頭文件main.h
我已經包含header1.h
在main.h
,然后包括main.h
在main.cpp
。
在main.cpp
我有一個類構造函數,我們稱之為MyClass
並且我有以下代碼:
MyClass:MyClass(...)
.
.
{
.
.
f = myFunc(...);
.
}
當我編譯代碼時,出現此錯誤:
error LNK2019: unresolved external symbol _myFunc referenced in function
此錯誤的原因是什么?
那是一個鏈接器錯誤。 包含myFunc
定義的文件沒有被編譯,或者您沒有鏈接到導出它的庫。
您有myFunc
的實現嗎? 您是否僅在標頭中聲明了 myFunc()
而未定義它?
您可以通過定義函數來解決此問題。
void myFunc(); // Declaration
void myFunc() {} // Definition
引起此錯誤的原因是, myFunc
符號沒有定義 ,因此鏈接器無法解析 。
您可能會錯過將myFunc
提供給鏈接器的庫/目標文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.