|
| Default værdier Fra : Socketd |
Dato : 17-08-03 00:39 |
|
Hey
Vil bare lige spørge hvad der er mest normalt at gøre og hvad C++
standarden siger om dette:
class Test {
public:
void hej(const string& tja = "Hejsa");
};
void Test::hej(const string& tja = "Hejsa") {
cout<<tja<<endl;
}
g++ (gcc) vil fint kunne kompile dette, men MinGW (og vist også Visual
studio) brokker sig over at jeg i Test, giver tja en default værdi!?!?
mvh
socketd
| |
Robert Larsen (17-08-2003)
| Kommentar Fra : Robert Larsen |
Dato : 17-08-03 00:54 |
|
Socketd wrote:
> Hey
>
> Vil bare lige spørge hvad der er mest normalt at gøre og hvad C++
> standarden siger om dette:
>
> class Test {
> public:
> void hej(const string& tja = "Hejsa");
> };
>
> void Test::hej(const string& tja = "Hejsa") {
> cout<<tja<<endl;
> }
>
> g++ (gcc) vil fint kunne kompile dette, men MinGW (og vist også Visual
> studio) brokker sig over at jeg i Test, giver tja en default værdi!?!?
>
> mvh
> socketd
Du skal kun skriv default værdien i definitionen:
class Test {
public:
void hej(const string& tja = "Hejsa");
};
void Test::hej(const string& tja) {
cout<<tja<<endl;
}
Robert
| |
Igor V. Rafienko (17-08-2003)
| Kommentar Fra : Igor V. Rafienko |
Dato : 17-08-03 14:34 |
|
[ Robert Larsen ]
[ ... ]
> Du skal kun skriv default værdien i definitionen:
Nei:
[ 8.3.6, p 3 ]
A default argument expression shall be specified only in the
parameter-declaration-clause of a function declaration or in a
template-parameter (14.1). If it is specified in a
parameter-declaration-clause, it shall not occur within a declarator
or abstract-declarator of a parameter-declaration.88)
[ /sitat slutt ]
Ordet du leter etter (og begrepet eksempelet ditt illustrerer) er
"deklarasjonen".
ivr
--
<html><form><input type crash></form></html>
| |
Robert Larsen (17-08-2003)
| Kommentar Fra : Robert Larsen |
Dato : 17-08-03 20:41 |
|
Igor V. Rafienko wrote:
> [ Robert Larsen ]
>
> [ ... ]
>
>
>>Du skal kun skriv default værdien i definitionen:
>
>
>
> Nei:
>
> [ 8.3.6, p 3 ]
>
> A default argument expression shall be specified only in the
> parameter-declaration-clause of a function declaration or in a
> template-parameter (14.1). If it is specified in a
> parameter-declaration-clause, it shall not occur within a declarator
> or abstract-declarator of a parameter-declaration.88)
>
> [ /sitat slutt ]
>
> Ordet du leter etter (og begrepet eksempelet ditt illustrerer) er
> "deklarasjonen".
>
>
>
>
>
> ivr
hehe....fair nok
| |
Bertel Brander (17-08-2003)
| Kommentar Fra : Bertel Brander |
Dato : 17-08-03 01:05 |
|
Socketd wrote:
> Hey
>
> Vil bare lige spørge hvad der er mest normalt at gøre og hvad C++
> standarden siger om dette:
>
> class Test {
> public:
> void hej(const string& tja = "Hejsa");
> };
>
> void Test::hej(const string& tja = "Hejsa") {
> cout<<tja<<endl;
> }
>
> g++ (gcc) vil fint kunne kompile dette, men MinGW
MinGW er også gcc/g++
(og vist også Visual
> studio) brokker sig over at jeg i Test, giver tja en default værdi!?!
Både Visual C++ og BorlandC brokker sig.
Jeg er ret sikker på at man ikke kan give en parameter en default
værdi i funktions definitionen.
Prøv at overveje hvad der ville ske hvis default værdierne i class
definitionen var anderledes en dem i funktions definitionen.
/b
| |
Socketd (17-08-2003)
| Kommentar Fra : Socketd |
Dato : 17-08-03 11:26 |
|
On Sun, 17 Aug 2003 02:04:43 +0200
Bertel Brander <bertel@post4.tele.dk> wrote:
> > g++ (gcc) vil fint kunne kompile dette, men MinGW
>
> MinGW er også gcc/g++
Ja, men g++ siger ikke noget til det......
> Jeg er ret sikker på at man ikke kan give en parameter en default
> værdi i funktions definitionen.
Ok, en tak til dig og Robert!
> Prøv at overveje hvad der ville ske hvis default værdierne i class
> definitionen var anderledes en dem i funktions definitionen.
Tja, det kan compileren vel fange?
mvh
socketd
| |
Martin Moller Peders~ (18-08-2003)
| Kommentar Fra : Martin Moller Peders~ |
Dato : 18-08-03 05:28 |
|
In <20030817122537.290277f3.db@NO_SPAM_traceroute.dk> Socketd <db@NO_SPAM_traceroute.dk> writes:
>On Sun, 17 Aug 2003 02:04:43 +0200
>Bertel Brander <bertel@post4.tele.dk> wrote:
>> > g++ (gcc) vil fint kunne kompile dette, men MinGW=20
>>=20
>> MinGW er ogs=E5 gcc/g++
>Ja, men g++ siger ikke noget til det......
Faa en nyere version.
/Martin
| |
N/A (18-08-2003)
| Kommentar Fra : N/A |
Dato : 18-08-03 05:28 |
|
| |
|
|