Jak zrobić, aby alias był widoczny we wszystkich plikach?

0

Dajmy na to, że w mainie mam coś takiego:

using DbMtrx = std::vector<std::vector<double>>;

No i w jakiejs tam klasie w odrębnym pliku chce go sobie użyć np:

DbMtrx MyMatrix1;
DbMtrx MyMatrix2;

Chce to również robić w paru innych klasach. Problem polega na tym, że VisualStudio czasem to widzi a czasem nie. Czyli czasem akceptuje, że istnieje taki using a czasem wywala błąd składniowy, że nie ma czegoś takiego jak DbMtrx. W przypadku zmiennych globalnych to mógłbym skorzystać z extern, tutaj mi tego nie akceptuje. Wiem, że w zasadzie to pasowałoby zrobić osobną klasę na macierze, albo skorzystać z boosta jak cywilizowany człowiek, ale na razie w sumie interesuje mnie czy da się to jakoś ogarnąć.
Jest jakiś sposób, czy muszę w każdej klasie osobno deklarować using?

3

Magii nie ma.
Po prostu umieść to w jakimś wspólnym pliku nagłówkowym.

Radziłbym jednak, zdefiniować klasę macierzy, bo namęczysz sięe raz w jedynym miejscu, zamiast wiele razy z tym samym w wielu miejscach.

2

using DbMtrx = std::vector<std::vector<double>>; umieść w headerze i includuj go wszędzie tam, gdzie chcesz ów using używać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1