簡體   English   中英

帶有類的未解決的外部符號錯誤

[英]Unresolved External Symbol Error w/ Classes

#include <iostream>
#include <string>
using namespace std;

class Phone
{
public:
    int countryCode, areaCode, mainNum;
    string type;
    Phone::Phone();
    void Phone::setPhone();
    void getPhone();
};

Phone::Phone()
{
    countryCode = 0;
    areaCode = 0;
    mainNum = 0;
    type = "HOME";
}

void setphone()
{
    Phone phone;
    cout << "Enter a country code: ";
    cin >> phone.countryCode;
    cout << "Enter an area code: ";
    cin >> phone.areaCode;
    cout << "Enter a number: ";
    cin >> phone.mainNum;
    cout << "Enter a type (HOME, OFFICE, FAX, CELL, or PAGER): ";
    cin >> phone.type;
}

int main()
{
    Phone p;
    Phone();
    p.setPhone();
    cout << p.countryCode << "-" << p.areaCode << "-" << p.mainNum << " " << p.type << endl;
}

這段代碼給我這個錯誤

Error   1   error LNK2019: unresolved external symbol "public: void __thiscall Phone::setPhone(void)" (?setPhone@Phone@@QAEXXZ) referenced in function _main    c:\Users\Adam\documents\visual studio 2013\Projects\ConsoleApplication22\ConsoleApplication22\Source.obj    ConsoleApplication22
Error   2   error LNK1120: 1 unresolved externals   c:\users\adam\documents\visual studio 2013\Projects\ConsoleApplication22\Debug\ConsoleApplication22.exe 1   1   ConsoleApplication22

據我所知,沒有什么是完全錯誤的,只是尋找一些新鮮的眼睛來查看它。

我一直在搜索,但沒有找到答案,我們將不勝感激。

好,

首先將您的類聲明更改為:

Phone(); // remove Phone::
void setPhone(); // Phone::

然后是setPhone方法:

void Phone::setPhone() // add Phone:: and correct name to setPhone, not setphone
{
    Phone phone;
    cout << "Enter a country code: ";
    ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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