今天我下載的Visual Studio的新版本,我試圖建立一個類:「無法解析的外部...」當試圖建立一個類CPP
class Fraction
{
public:
Fraction(int, int);
private:
int _a;
int _b;
};
我還內置了CPP文件執行:
#pragma once
#include "Fraction.h"
#include <string>
Fraction::Fraction(int a, int b)
{
_a = a;
_b = b;
}
頭文件(thc類)位於名爲「Franctions.h」的文件中,並在頭文件目錄中找到。 cpp文件(thc類)位於名爲「Franctions.cpp」的文件中,可在Resource files目錄中找到。
當我試着運行這個簡單的程序,我得到這個問題: 嚴重性代碼說明項目文件的線路抑制狀態
Error LNK2019 unresolved external symbol "public: __thiscall Fraction::Fraction(int,int)" ([email protected]@[email protected]@Z) referenced in function _main Homework2 c:\Users\VVV\documents\visual studio 2017\Projects\Homework2\Homework2\questionA.obj 1
爲什麼它是這樣嗎?
編輯: 主:
#include "Fraction.h"
int main()
{
Fraction f1(1, 2);
return 0;
}
CPP文件屬於源文件,而不是資源文件。將其移至源文件夾並查看會發生什麼。另外'#pragma once'應該在頭文件中,而不是源文件中。 – NathanOliver
@NathanOliver仍然是同樣的問題 –
LNK2019是鏈接器錯誤,所以在您的項目配置中可能有些問題。你在哪裏有'main()'函數和其他源文件的文件?它們和'Fractions.cpp'是否在同一個目錄下?似乎從你使用Fraction類的地方只有頭文件是可見的。 – trivelt