Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Przekazanie struktury do funkcji.

Ostatnio zmodyfikowano 2014-03-18 18:39
Autor Wiadomość
byczkubrony
Temat założony przez niniejszego użytkownika
Przekazanie struktury do funkcji.
» 2014-03-18 18:17:31
C/C++
#define _USE_MATH_DEFINES
#include<stdio.h>
#include<cmath>
#include<iostream>
//!#define M_PI 3.14159265358979323846


_USE_MATH_DEFINES

struct location
{
    float x, y;
};
class Circle
{
    location location;
    float radius;
public:
   
    void set_location( struct location new_location ) //! Możemy zrobić to na przykład
    {
        location = new_location;
    }
   
   
    struct location get_location()
    {
        return location;
    }
    void set_radius( float radiuss )
    {
        radius = radiuss;
    }
    float get_radius()
    {
        return radius;
    }
    float circumference()
    {
        return 2 * M_PI * radius;
    }
    float area()
    {
        return M_PI * pow( radius, 2 );
    }
};
int main()
{
    Circle circle;
    circle.set_location(( location ) { 4., 2.} ); //error C2143: syntax error : missing ')' before '{'
    return 0; //type name is not allowed
Powiedzcie mi proszę w jaki sposób ze struktury zrobić argument metody:
circle.set_location((location){4.,2.});
void set_location(struct location new_location)
{        
location = new_location; Czy ta metoda jest poprawna.
}
Korzystam w visual studio 2010 i to nie chce zadziałać. Prowadzącemu ćwiczenia to działało. I nie wiem co jest źle. Dzięki z góry za odpowiedź.
P-106725
pekfos
» 2014-03-18 18:24:17
i to nie chce zadziałać.
Czyli?
P-106726
byczkubrony
Temat założony przez niniejszego użytkownika
» 2014-03-18 18:29:13
Nie wiem po prostu w jaki sposób przekazać tą strukturę by było poprawnie. W komentarzu wysłałem błędy jakie pokazuje kompilator.
P-106727
Monika90
» 2014-03-18 18:33:24
Powinno być tak:
C/C++
circle.set_location( { 4., 2.} );
jeżeli to nie działa to zrób upgrade kompilatora, ewentualnie w starych kompilatorach można tak
C/C++
location loc = { 4., 2.};
circle.set_location( loc );
P-106728
byczkubrony
Temat założony przez niniejszego użytkownika
» 2014-03-18 18:39:12
Dzięki ten 2 sposób zadziałał.
P-106729
« 1 »
  Strona 1 z 1