[C++] Return in Functie

Pagina: 1
Acties:

  • Chip.
  • Registratie: Mei 2006
  • Niet online
- opgelost - :)

Hallo,

Ik heb het volgende probleem. Ik zal eerst even de code plaatsen:

C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream>
#include <string>
using namespace std;

int printTempOpinie(float x)
{
    string result;
    
    if (x <= 17)
    {
        result = "koud";
    }
    else if (x > 17 && x <= 24)
    {
        result = "OK";
    }
    else if (x > 24 && x <= 31)
    {
        result = "warm";
    }
    else if (x > 31)
    {
        result = "heet";
    }

    return result;
}

int main() {
    
    float temperatuur;

    cout << "PC's mening over de temperatuur." << endl;
    cout << "Voer de temperatuur (celcius) in: ";
    cin >> temperatuur;

    cout << printTempOpinie(temperatuur);
    
    return 0;
}           


Nu heb ik het volgende probleem... Wanneer ik deze dan wil compile dan krijg ik de volgende error...
Microsoft (R) C/C++ Optimizing Compiler Version 14.00.50727.42
for Microsoft (R) .NET Framework version 2.00.50727.42
Copyright (C) Microsoft Corporation. All rights reserved.

temp.cpp
temp.cpp(31) : error C2440: 'return' : cannot convert from 'std::
string' to 'int'
No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
Wat heb ik fout gedaan??? Ik weet ps. wat de fout betekent maar niet hoe ik deze kan oplossen :+

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:54
Als je weet wat de fout betekend, kan je ze ook oplossen.
Dit is echt iets wat je met wat basiskennis kan zien en oplossen; kijk eens naar je functie-signature (wat je zegt dat je gaat returnen) en wat je daadwerkelijk returned....

https://fgheysels.github.io/


  • Spockz
  • Registratie: Augustus 2003
  • Laatst online: 19-11 13:44

Spockz

Live and Let Live

Je returned een string terwijl je zegt dat je een integer gaat returnen, dat kan natuurlijk niet he. :P

C'est le ton qui fait la musique. | Blog | @linkedin
R8 | 18-55 IS | 50mm 1.8 2 | 70-200 2.8 APO EX HSM | 85 1.8


  • MrBucket
  • Registratie: Juli 2003
  • Laatst online: 29-10-2022
Weet je zeker dat je weet wat die fout betekent?

In ieder geval:
- In je functie printTempOpinie retourneer je de inhoud van de variabele 'result'. Van welk datatype is deze variabele?
- Wat zou volgens de declaratie van de functie printTempOpinie() (op regel 5) het datatype moeten zijn?
- Welke van de 2 is goed? :P

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

C++:
5
int printTempOpinie(float x) 

moet
C++:
5
String printTempOpinie(float x) 
worden

Going for adventure, lots of sun and a convertible! | GMT-8


  • Chip.
  • Registratie: Mei 2006
  • Niet online
Snakiej schreef op zaterdag 17 februari 2007 @ 20:13:
C++:
5
int printTempOpinie(float x) 

moet
C++:
5
String printTempOpinie(float x) 
worden
thanks ben net zelf ook achter gekomen :) iedereen bedankt tja staat er namelijk wel een fout in het dictaat van onze leraar :') daar staat namelijk int
Pagina: 1