2015-05-03 4 views
0
#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)" ([email protected]@@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 

Из того, что я могу сказать, что нет ничего прямо не так, просто глядя на некоторые свежие глаза, чтобы посмотреть на него.

Я искал и не нашел ответа. Любая помощь приветствуется.

ответ

0

Ну,

Во-первых изменить объявление класса:

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: "; 
    ...