调用自定义类中的函数出现了一些问题

这是我的头文件


#pragma once
#include
#include
#include
#include

#define RTV_304ss "RTVs_304 Stainless Steel.txt"

using namespace std;

struct RTVs
{
    string a[10];
};

class RoomTemperatureValues
{
public:
    RoomTemperatureValues();

    ~RoomTemperatureValues();

    void Readfile();//读取文件数据

    list  List1;//存储文件数据的容器

};

这是源文件

//#include "stdafx.h"
#include
#include
#include
#include"RoomTemperatureValues.h"



RoomTemperatureValues::RoomTemperatureValues()
{

}

RoomTemperatureValues::~RoomTemperatureValues()
{

}

void RoomTemperatureValues::Readfile()
{
    ifstream ifs;
    RTVs p1_304ss;
    string a1[10]= { "Name", "Density", "SHC", "TC", "YS", "UTS", "PR", "EM", "Hardness", "MP" };

    //string Name, Density, SHC,TC;//SHC:Specific Heat Capacity; Thermal Conductity; 
    //string YS, UTS,PR,EM;//YS:Yeild Strength; UTS:ultimate Tensile Strength; PR:Posssion Ratio; EM:Elasticity modulus
    //string Hardness, MP;//MP:Melting Point;

    for (int i = 0; i < sizeof(a1) / sizeof(a1[0]); i++)//对字符串数组p1_304ss进行赋值
    {
        p1_304ss.a[i] = a1[i];
    }
    ifs.open(RTV_304ss);
    char buf[1024] = { 0 };
    List1.clear();//容器清空
    ifs >> buf;//读取文本第一行内容;
    for (int i = 0; i < sizeof(a1) / sizeof(a1[0]); i++)
    {
            char* p1 = strtok(buf, ":");//读取该行“:”前的内容;
            if (p1 != NULL)//“:”前内容非空
            {
                p1 = strtok(NULL, ":");//读取“:”后的内容
                if (p1 != NULL)//“:”后的内容非空
                {
                    p1_304ss.a[i] = p1;
                }

            }
            ifs >> buf;//继续读取下一行内容
    }
}

int main()
{
    RoomTemperatureValues::Readfile();
    return 0;
}

出现的问题是

img

RoomTemperatureValues::Readfile()
改为
RoomTemperatureValues r;
r.Readfile()

语法都不会直接撸代码可还行