0
나는 현재와 같은 정의 된 벡터에 액세스하려고 :벡터에 액세스 할 수없는 이유는 무엇입니까?
#include <iostream>
#include <cstdlib>
#include <vector>
#include <string>
using namespace std;
template<class T>
class file
{
public:
typedef vector<vector<T> > buffer;
};
int main()
{
file<double> test;
cout << test.buffer.size() << endl;
std::vector<pair<string, file<double> > > list_of_files;
for (const auto& [name, file] : list_of_files)
{
cout << file.buffer.size() << endl;
}
}
내가 무엇입니까 오류 메시지가 나는 현재 일을 오전처럼 buffer
범위 지정이 무효 인 경우이다?하지만 왜 잘못인가? 왜 그렇게되어야하는지 알지 못해요?
buffer
의 내부 및 외부 벡터를 반복하는 for 루프에 있지만 범위를 지정할 수 없기 때문에 액세스 할 수 없습니까? 어떻게 접근합니까?
'buffer'는 (는) 벡터가 아닙니다. typedef입니다. 즉, 나중에 'buffer myBuffer;'라는 벡터를 'vector> myBuffer;'의 줄임표로 선언 할 수 있습니다. 그러나 당신의 클래스에는 아직 벡터가 없습니다. –