簡體   English   中英

從C ++中的Class構造函數調用在頭文件中定義的函數

[英]calling a function defined in a header file from a Class constructor in C++

我有一個頭文件,讓我們使用函數的定義將其header1.h ,比如說myFunc() 我的C ++項目有一個源文件,我們稱它為main.cpp和一個頭文件main.h 我已經包含header1.hmain.h ,然后包括main.hmain.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM