gpt4 book ai didi

c++ - 命令提示未定义对所有内容的引用

转载 作者:行者123 更新时间:2023-11-28 07:18:40 26 4
gpt4 key购买 nike

我正在尝试构建一个应用程序,它接受用户输入,将其放入 vector/数据库,然后输出结果。当我将代码输入我的 Windows 命令提示符编译器时,它只是得到它给了我一个路径 C:/users/app/data/local/temp 然后一个 undefined reference 错误几乎所有的东西,cin,cout 等。它最初只是给我通常的错误,但是当我删除错误时,它给了我这个,而如果我要删除一个分号,它只会给我一个错误。关于可能导致此问题的任何想法?

MP3.H

#define MP3_H
#include <iostream>
#include<string>

using namespace std;

class MP3
{

public:

MP3();//constructor
MP3(string,string,int,int,string);
~MP3();

string getName() const;
string getSongName() const;
int getDuration() const;
int getReleaseYear() const;
string getReview() const;

private:
string artistMP;
string songMP;
int duationMP;
int releaseyearMP;
string reviewMP;
}
#endif

MP3.cpp

#include "MP3.h"



MP3::MP3();
MP3::MP3(string artist,string song,int duration,int releaseyear,string review){

artistMP=artist;
songMP=song;
durationMP=duration;
releaseyearMP=releaseyear;
reviewMP=review;

}
~MP3::MP3();

string MP3::getName()const;{
return artistMP;
}

string MP3::getSongName()const;{
return songMP;
}

int MP3::getDuration()const;{
return durationMP;
}

int MP3::getReleaseYear()const;{
return releaseyearMP;
}

string MP3::getReview()const;{
return reviewMP;
}

主要.cpp

#include<vector>
#include "MP3.h"


void fillVector(vector<MP3>&);//5

void print (const vector<MP3>&);//7

int main( )

{

vector<MP3> myRecord;

fillVector(myRecord);
print(myRecord);

return 0;
}


void fillVector(vector<MP3> & newMyRecord){//22

cout<<"How many songs in the playlist baby";
int recordSize;
cin>>recordSize;

for(int i=0;i<recordSize;i++)

{
string artist;
string song;
int duration;
int releaseyear;
string review;

cout<<"Enter Artist Name:";
cin>>artist;
cout<<"Enter Song Name:";
cin>>song;
cout<<"Enter Song Duration(in seconds):";
cin>>duration;
cout<<"Enter Release Year:";
cin>>releaseyear;
cout<<"Enter Brief Review:";
cin:review;

MP3 newMP3(artist,song,duration,releaseyear,review);
newMyRecord.push_back(newMP3);
cout<<endl;


}
cout<<endl;
}


void print (const vector<MP3>&newMyRecord)//58

{
unsigned int size = newMyRecord.size();
for (unsigned int i=0;i<size;i++){

cout<<"Artist:"<< newMyRecord[i].getName()<<endl;
cout<<"SongName:"<< newMyRecord[i].getSongName()<<endl;
cout<<"Duration:"<< newMyRecord[i].getDuration()<<endl;
cout<<"ReleaseYear:"<< newMyRecord[i].getReleaseYear()<<endl;
cout<<"Review:"<< newMyRecord[i].getReview()<<endl;
}

}

};

TIA

最佳答案

构建一个程序发生在(至少)两个阶段,编译和链接。 undefined reference 是链接器错误。如果您收到链接器错误,则表示编译成功。但是,如果您有编译器错误(例如与分号有关的错误语法),则不会发生链接,因此您不会看到任何链接器错误(例如 undefined reference )。

关于c++ - 命令提示未定义对所有内容的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19864661/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com