我在寫課程時遇到問題。 當我將定義移動到其他源文件以保持「乾淨」時出現問題。無法解析的外部符號C++ - 聲明錯誤?
我收到的消息是:
1>------ Build started: Project: 1 projekt - sklep, Configuration: Debug Win32 ------
1> main.cpp
.1funkcje.obj : error LNK2001: unresolved external symbol "class Rachunek Kasa_sklepowa" .([email protected]@[email protected]@A)
1>metody_r.obj : error LNK2001: unresolved external symbol "class Rachunek Kasa_sklepowa" .([email protected]@[email protected]@A)
1>C:\Users\Ja\Desktop\Studia\PW\Semestr II\C++\Cwiczenia - klasy,obiekty\Debug\1 projekt - .sklep.exe : fatal error LNK1120: 1 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
其中Kasa_Sklepowa
是我宣佈在main.cpp中一個全局對象 - 我想這可能就是爲什麼有一些錯誤的理由。
之前它已經告訴我,類聲明有字符串的錯誤。
#pragma once
class Rachunek
{
double saldo_ogolne;
public:
Rachunek() {saldo_ogolne=0;};
~Rachunek();
void transakcja(std::string,std::string,double);
void czysc_zarobki();
};
源文件(CPP)
extern Rachunek Kasa_sklepowa;
void Rachunek::transakcja(string _pes,string co,double ile)
{
bla bla
}
主要文件
Rachunek Kasa_sklepowa();
int main (int agc, char**argv)
{
...
}
爲什麼需要 「外部Rachunek Kasa_sklepowa;」在類impl文件中?你也必須在main.cpp中包含「Rachunek.h」文件。 – Arun 2013-03-28 02:01:09
它看起來像你正在使用MSVC,請將Rachunek.h/.cpp文件添加到您的項目。 – Arun 2013-03-28 02:02:19
我在主文件中包含了Rachunek.h。 我必須有這個「外部..」,因爲那樣我就有錯誤,如 > 1> c:\ users \ ja \ desktop \ studia \ pw \ semestr ii \ C++ \ cwiczenia - klasy,obiekty \ 1 projekt - sklep \ metody_r.cpp(71):錯誤C2065:'Kasa_sklepowa':未聲明的標識符 它們已被添加到我的項目中。 你想讓我把它們粘貼在這裏嗎? – 2013-03-28 02:11:42