g++ compiler vs Visual Studio compiler

Intrebari despre limbajul C++, standardul C++, STL, OOP in C++ sau alte subiecte nelegate de VisualC++
Post Reply
User avatar
black_atus
Membru
Membru
Posts: 139
Joined: 20 Jun 2012, 10:20
Judet: Prahova
Location: Ploiesti

g++ compiler vs Visual Studio compiler

Post by black_atus » 24 Oct 2014, 10:33

Lucrez la o aplicatie care se compileaza si pe Windows(cu Visual Studio) si pe Linux(g++) si am descoperit o chestie destul de ciudata pe care vreau sa o impartasesc...
Presupunand ca avem urmatorul cod:
std::map<double, std::map<double, double> > mTest;
...
alt cod..
...
std::map<double, std::map<double, double>>::iterator it = mTest.begin();
...
Compileaza cu Visual Studio dar cu g++ pica..
"error: `>>' should be `> >' within a nested template argument list"

Problema fiind un spatiu...

Ati mai gasit probleme asemanatoare? adica sa se compileze cu VS dar nu cu gcc/g++ ?


Cu stima,
Daniel Constantin

User avatar
bu7ch3r
Membru++
Membru++
Posts: 326
Joined: 17 May 2011, 15:17
Judet: Iaşi
Location: Sofia
Contact:

Re: g++ compiler vs Visual Studio compiler

Post by bu7ch3r » 24 Oct 2014, 13:40

Visual studio face el treaba pentru tine(ma gandesc ca ai 2010 sau 2012), g++ nu.
VS e destul de destept sa-si dea seama cand inchizi template-urile si cand apelezi operatorul >> - e o chestie legata de cum parseaza el codul, cred.
Cateodata da erori de acest fel si VS stai linistit - sau mai grozave, de nici nu-ti dai seama de ce nu compileaza.

E clar cred care varianta e mai prietenoasa cu compilatoarele.

Ce versiune de gcc folosesti? Incearca sa pui flag-ul de c++11(std=c++11).

BTW, double? Vezi ca floatii in programare is cam nebuni si 3.000 s-ar putea sa fie azi 2.99997, maine 3.000001 ;) Sa vezi ce fain o sa fie cand ai sa vrei sa cauti o cheie de care esti sigur ca exista si map-ul iti zice ca NU-I.
Cu stima,
Lupu Claudiu

User avatar
black_atus
Membru
Membru
Posts: 139
Joined: 20 Jun 2012, 10:20
Judet: Prahova
Location: Ploiesti

Re: g++ compiler vs Visual Studio compiler

Post by black_atus » 31 Oct 2014, 13:59

gcc 4.8 parca..Exemplul de mai sus e doar un exemplu, nu l-am folosit in cod. Oricum mersi pentru sfatul legat de cheile de tip double. E foarte bine de luat in considerare mai ales ca am mai avut probleme cu numere cu multe zecimale..
Cu stima,
Daniel Constantin

User avatar
bu7ch3r
Membru++
Membru++
Posts: 326
Joined: 17 May 2011, 15:17
Judet: Iaşi
Location: Sofia
Contact:

Re: g++ compiler vs Visual Studio compiler

Post by bu7ch3r » 31 Oct 2014, 21:08

uite:
asta merge pe c++11

http://ideone.com/fork/WDHluk

daca schimb compilatorul pe 4.8 "fara c++11" nu merge:\
http://ideone.com/m488te

Sa fie asta ultima ta problema in programare ;)
Cu stima,
Lupu Claudiu

Post Reply