Ошибка сегментации, когда я помещаю код вне int main () {}

первый блок кода работает, но второй блок кода не работает, и я понятия не имею, почему. Я получаю ошибку сегментации со вторым блоком кода.

#include "Graph.h"#include "Simple_window.h"#include "std_lib_facilities_3.h"
using namespace Graph_lib;

Point t1(100,100);
Simple_window win(t1,700,700,"Calendar");

int main(){
Vector_ref<Text> weekdays;
vector<string> weekday = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};

for (int a = 0; a < weekday.size(); ++a){
weekdays.push_back(new Text(Point(a*100+28,90), weekday[a]));
weekdays[weekdays.size()-1].set_font_size(10);
win.attach(weekdays[weekdays.size()-1]);
}
}

Следующий код дает мне ошибку сегментации.

#include "Graph.h"#include "Simple_window.h"#include "std_lib_facilities_3.h"
using namespace Graph_lib;

Point t1(100,100);
Simple_window win(t1,700,700,"Calendar");

void draw_weekdays(){
Vector_ref<Text> weekdays;
vector<string> weekday = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};

for (int a = 0; a < weekday.size(); ++a){
weekdays.push_back(new Text(Point(a*100 + 28, 90), weekday[a]));
weekdays[weekdays.size()-1].set_font_size(10);
win.attach(weekdays[weekdays.size()-1]);
}
}

int main(){
draw_weekdays();
}

Я сузил проблему до строки «win.attach (weekdays [weekdays.size () — 1]);», но кроме этого я в тупике.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]