1
1>Main.obj : error LNK2019: unresolved external symbol "void __cdecl createVideoList(class                          std::basic_ifstream<char,struct std::char_traits<char> > &,class Video &)" (?createVideoList@@YAXAAV?$basic_ifstream@DU?$char_traits@D@std@@@std@@AAVVideo@@@Z) referenced in function _main
1>c:\users\******\documents\visual studio 2010\Projects\Programming Assignment 4\Debug\Programming Assignment 4.exe : fatal error LNK1120: 1 unresolved externals

私はプログラミングの割り当てに取り組んでおり、コンパイルしようとするとこのリンク エラー 2019 が発生します。これは createVideoList を参照しており、これらはそれに関連するコードの行です。

#include <iostream>
#include <fstream>
#include <string>
#include "Video.h"
using namespace std;

void createVideoList(ifstream& infile, Video videoArray);

int main()
{
...
createVideoList(inputfile, videoArray[50]);
}

void createVideoList(ifstream& ifile, Video videoArray[50])
{
string title;
string star1;
string star2;
string producer;
string director;
string productionCo;
int inStock;
int count = 0;
Video newVideo;
getline(ifile, title);
while (ifile)
{
    getline(ifile, star1);
    getline(ifile, star2);
    getline(ifile, producer);
    getline(ifile, director);
    getline(ifile, productionCo);
    ifile >> inStock;
    newVideo.setVideoInfo(title, star1, star2, producer,
        director, productionCo, inStock);
    videoArray[count] = newVideo;
    getline(ifile, title);
}
}

そもそもエラーが何を言っているのかさえわからないので、皆さんを助けるためにここに投稿する必要があるコードを正確にはわかりません. 前もって感謝します!

4

1 に答える 1

5
void createVideoList(ifstream& infile, Video& videoArray);

そのはず

void createVideoList(ifstream& infile, Video* videoArray);

これら2つは異なる宣言です。最初のパラメータでは、2番目のパラメータはビデオ変数への参照であり、2番目のパラメータはポインタです。これは配列である可能性があります。

また、配列を関数の引数として渡したい場合は、次のように呼び出す必要があります。

createVideoList(inputfile, videoArray[]);

また

createVideoList(inputfile, videoArray);

あなたがそれをしているとき:

createVideoList(inputfile, videoArray[50]);

配列の50番目の要素を渡しているだけです。

于 2012-07-02T19:11:28.137 に答える