Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Dade, dade

Parola la lock screen

Deparazitare externa pisici fara ...

Seriale turcesti/coreene online H...
 Merita un Termostat Smart pentru ...

Sfat achizitie MTB Devron Riddle

Problema mare cu parintii= nervi ...

switch microtik
 Permis categoria B la 17 ani

Sfaturi pentru pregatirea de eval...

Crapaturi placa

cum imi accesez dosarul electroni...
 Momentul Aprilie 1964

Sursa noua - zgomot ?

A fost lansat Ubuntu 24.04 LTS

Pareri apartament in zona Berceni?
 

Eroare compilare: min max minmax

- - - - -
  • Please log in to reply
5 replies to this topic

#1
bizpenet

bizpenet

    Junior Member

  • Grup: Members
  • Posts: 183
  • Înscris: 20.03.2006
Buna ziua

In stl.h am:

template <typename T> T MIN(T a, T b)
{
return a < b ? a : b;
}
template <typename T> T MAX(T a, T b)
{
return a > b ? a : b;
}
template <typename T> T MINMAX(T min, T value, T max)
{
T tv;
tv = (min > value ? min : value);
return (max < tv) ? max : tv;
}


Folosesc GNU Make 4.2.1, nu pot compila pentru ca:

stl.h:100:32: error: expected ')' before 'a'
template <typename T> T MIN(T a, T b)

respectiv

stl.h:105:32: error: expected ')' before 'a'
template <typename T> T MAX(T a, T b)

Nu reusesc sa modific acest cod, rog pe cineva sa o faca. Multumesc frumos.

#2
maccip

maccip

    46 ani

  • Grup: Senior Members
  • Posts: 33,263
  • Înscris: 06.01.2007
Codul pare corect, stiu ca compilatoarele dadeau erori mai ciudate cand foloseai template de template sau alte constructii.
Insa n-am mai programat de mult in C++, nu mai stiu ce fac compilatoarele acum.

Ca o prima observatie, ar trebui sa folosesti const T& in loc de T pentru a evita copierea in cazul in care compari obiecte mari cu operatorul < sau > overloadat. Dar nu stiu daca-ti rezolva problema, probabbil ca nu.

Cred ca eroarea e in alta parte (intr-un *.cpp, nu *.h) si-ti raporteaza compilatorul gresit.

Edited by maccip, 13 January 2019 - 00:22.


#3
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,238
  • Înscris: 24.02.2007
GNU Make nu e compilator, e un coordonator ce imparte comenzi in stanga si-n dreapta. Ce compilator folosesti defapt?

Codul compileaza: https://godbolt.org/z/FQFlKS

#4
bizpenet

bizpenet

    Junior Member

  • Grup: Members
  • Posts: 183
  • Înscris: 20.03.2006

 dani.user, on 13 ianuarie 2019 - 10:56, said:

GNU Make nu e compilator, e un coordonator ce imparte comenzi in stanga si-n dreapta. Ce compilator folosesti defapt?

Codul compileaza: https://godbolt.org/z/FQFlKS

CC = g++49

#5
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,238
  • Înscris: 24.02.2007
Merge si cu 4.9.

MIN/MAX mai apar definite prin macro-uri caz in care te-ar incurca. Incearca sa le scrii cu litera mica.

Edited by dani.user, 13 January 2019 - 14:56.


#6
maccip

maccip

    46 ani

  • Grup: Senior Members
  • Posts: 33,263
  • Înscris: 06.01.2007
Faptul ca nu da aceiasi eroare la MINMAX ci doar la MIN sau MAX, ma face sa cred ca @dani a ghicit problema.
Poti incerca cu #ifdef, erau niste directive sa te ajute.
Eu am avut in cap o alta situatie pe vremea cand faceam un program cu matrici<T>, unde T putea sa fie atat int/double, dar si Submatrice<matrice<T> >.
La un moment dat aveam o eroare din asta dubioasa pe care n-am putut-o rezolva, dar am reusit s-o izolez, era intr-adevar o eroare de compilator. Intre timp or mai fi evoluat compilatoarele, mai ales pe partea de template unde C++ statea foarte prost.

Anunturi

Neurochirurgie minim invazivă Neurochirurgie minim invazivă

"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv.

Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate