Проблема с main()

Здравствуйте!
Вот код:

#include <iostream>
using namespace std;

class Pos {
private:
    double x;
    double y;
public:
    Pos(double a = 0, double b = 0) {
        x = a;
        y = b;
    }

    void setx() {
        cout << "x: ";
        cin >> x;
    }

    double sx() {
        return x;
    }

    void sety() {
        cout << "y: ";
        cin >> y;
    }

    double sy() {
        return y;
    }

    void reset(double a = 0, double b = 0) {
        x = a;
        y = b;
    }
};

int main(Pos u) {
    double a = 0;
    double b = 0;

    cout << "default pos. \n";
    Move(a, b);
    cout << "x & y input: \n";
    u.setx();
    u.sety();
    cout << "x & y output: \n";
    cout << "x: " << u.sx() << "\n";
    cout << "y: " << u.sy() << "\n";
    cout << "reset: \n";
    u.reset(a, b);
    cout << "x: " << u.sx() << "\n";
    cout << "y: " << u.sy() << "\n";
    cout << "Done! \n";

    system("pause");
    return 0;
}

С самой прогой-то всё норм, а вот после всего, когда уже я нажимаю любую клавишу(т.е после «Для продолжения нажмите любую клавишу...») выбрасывает исключение:

Exception thrown: write access violation.
main_result was 0xFFFFEF66.
If there is a handler for this exception, the program may be safely continued.

int main(Pos u) {
double a = 0;
double b = 0;

Меняем на:

int main() {
    Pos u;
    double a = 0;
    double b = 0;

У меня выскочило, что переменная u не инициализирована.

С самой прогой-то всё норм, а вот после...

Класс! Типа «машина едет хорошо, только при остановке взрывается» ))

И, кстати, как это она компилируется и даже запускается, если в ней используется неопределенная функция Move()?

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.