Я пытаюсь использовать (изучать) Векторы в C ++, и поэтому я написал это в качестве простого примера. Но я получаю сообщение об ошибке «Ошибка сегментации: ядро сброшено», и я не знаю, где и в чем ошибка. Может кто-нибудь попытаться объяснить мне, что это такое?
'' '
struct Vertex {
int x,y,z;
};
std::ostream& operator<<(std::ostream& stream, const Vertex& vertex) {
stream << vertex.x << ", " << vertex.y << vertex.z;
return stream;
}
int main() {
std::vector<Vertex> vertices;
vertices.push_back({1,2,3});
for(int idx = 0; vertices.size(); idx++)
std::cout << vertices[idx] << std::endl;
}
' ''
Является ли ошибка из-за перегрузки оператора (<<) ? Это всего лишь догадка. Потому что, когда я компилирую его, используя g ++ 11, он компилируется нормально, но когда я вижу выходные данные (используя команду ./a.out), возникает ошибка ошибки сегментации. Поэтому я в замешательстве. </p>