使用结构制作向量的C ++错误

时间:2014-09-09 23:39:29

标签: c++ string vector struct

我试图创建一个使用文本文件作为数据库的c ++程序。为此,它将文本文件(代表歌曲)中的行存储为" Revolution Diplo Revolution 320 12" 当该句子被分割时(另一个困境),数据值分别是名称,艺术家,专辑,千字节/秒和大小(以兆字节为单位)。

我收到以下错误:

  1. 'main():: song'使用本地类型'main():: song',

  2. 尝试实例化'template class std :: allocator',

  3. 模板参数2无效,

  4. 在'{'token

  5. 之前,不允许使用函数定义

    我无法弄清楚它是如何运作的。

    struct song{
        string name;
        string artist;
        string album;
        string kbs;
        string size;
    }; 
    
    //Declare our function that will search
    vector<song> loadStructsInData(){ //THIS LINE IS WHERE THE ERROR ARISES
        /* this part just reads a file and interprets each line as structs, like a database */
    
        return songs;
        cout<<"All done!"<<endl<<endl;
    }
    

    并且它都在main()函数中。

1 个答案:

答案 0 :(得分:0)

您必须在全局(或类,但不是函数)范围内声明您的结构,以便在STL容器中使用它。