c++ - ERROR LNK1120: 1 unresolved externals & ERROR LNK2019: unresolved external symbol ! While Compiling -



c++ - ERROR LNK1120: 1 unresolved externals & ERROR LNK2019: unresolved external symbol ! While Compiling -

this question has reply here:

what undefined reference/unresolved external symbol error , how prepare it? 23 answers

i error lnk1120: 1 unresolved externals & error lnk2019: unresolved external symbol ! while compiling

some threads - end while searching - class definitions , other .cpp /.h files

the errors:

error lnk1120: 1 unresolved externals. error lnk2019: unresolved external symbol "public: __thiscall bandera_triang::~bandera_triang(void)" (??1bandera_triang@@qae@xz) referenced in function _main.

here code:

#include <iostream> using namespace std; class bandera_triang { private: float aside, bside, cside; public: bandera_triang(){ //cost. sin param... aside = 0; bside = 0; cside = 0; } bandera_triang(float a, float b, float c){ //const. con param... aside = a; bside = b; cside = c; } //sets... void set_a(float a){ aside = a; } void set_b(float b){ bside = b; } void set_c(float c){ cside = c; } //gets... float get_a(){ homecoming aside; } float get_b(){ homecoming bside; } float get_c(){ homecoming cside; } ~bandera_triang(); //destructor... bool estriang(){ //desigualdad triangular... if (aside < bside + cside && bside < aside + cside && cside < aside + bside) { homecoming true; } else homecoming false; } string triangono(bool estriang()){ //print si es o no triangulo... if (estriang() == true){ homecoming "es triangulo."; } else { homecoming "no es triangulo."; } } string tipotriang(){ if (aside == bside && bside == cside){ homecoming "el triangulo es equilatero."; } else if (aside == bside || aside == cside || bside == cside){ homecoming "el triangulo es isosceles. "; } homecoming "el triangulo es escaleno."; } float artriang(float aside, float bside, float cside){ //area triangulo con f.heron. float lado_a, lado_b, lado_c, semiperim, areatriang; //variables locales para calculo. semiperim = (lado_a + lado_b + lado_c) / 2; //calculo de semiperimetro. areatriang = sqrt(semiperim * (semiperim - lado_a) * (semiperim - lado_b) * (semiperim - lado_c)); homecoming areatriang; } string printarea(float artriang){ cout << "el area del triangulo es: " << artriang << "cm2." << endl; } //imprime area :) }; //fin clase triangulo //inicia main int main(){ bandera_triang trianga; system("pause"); }

there 2 steps creating executable, compiling , linking. during compilation phase, create promise, "there function int foo(float)" though function isn't part of compilation unit. compiler take word , insert placeholder. later on, linker assemble different parts of programme , resolve placeholder. since doesn't find promised function, errors out.

the promised function destructor, declared (~bandera_triang();) never provided. if didn't promise provide one, compiler have created special function you, i'd suggest remove declaration. in order allow teacher know considered this, can write this:

// default dtor fine // ~bandera_triang();

or implement empty body.

c++ visual-c++

Comments

Popular posts from this blog

java - How to set log4j.defaultInitOverride property to false in jboss server 6 -

c - GStreamer 1.0 1.4.5 RTSP Example Server sends 503 Service unavailable -

Using ajax with sonata admin list view pagination -