ConsoleApplication4.exe перестал работать. Windows закроет программу и уведомит, если решение доступно

Я новичок в C ++ и Visual Studio. Я пытаюсь запустить и отладить код в Visual Studio 2012. Но когда код требует более сложных вычислений, VS просто вылетает, как в примере ниже. После компиляции, когда я нажимаю «Пуск» без отладки, я получаю всплывающее окно с сообщением выше. Наконец он отображает две опции отладки и закрытия программы. Когда я нажимаю на отладку, он говорит: «Необработанное исключение win32 произошло в консольном приложении 4.exe [5844]». Я не понимаю, в чем проблема. Когда я пытаюсь запустить какую-то простую программу, такую ​​как std::cout << "something"; он отображает сообщение правильно.

// ConsoleApplication4.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"#include "tbb/blocked_range.h"#include "tbb/tbb.h"#include <stdio.h>
#include <math.h>
#include <iostream>
#include "tbb/parallel_for.h"using namespace tbb;
#define PI 3.14159265

class CL
{
double * rangeOne;
double * rangeTwo;

public:
CL(double * rangeOne, double * rangeTwo) {}

void operator()(blocked_range<size_t>& r)
const
{
for (size_t i = r.begin(); i != r.end(); ++i)
{
rangeOne[i] = sin(i*PI / 180);
rangeTwo[i] = cos(i*PI / 180);
}
}};

int _tmain(int argc, _TCHAR* argv[])
{
double * u = new double[10];
double * p = new double[10];
parallel_for(blocked_range<size_t>(0, 10), CL(u, p));
return 0;
}

0

Решение

Это:

CL(double * rangeOne, double * rangeTwo) {}

Не инициализирует ваши переменные класса. Это просто ничего не делает. Вообще ничего

Следует читать:

CL(double * rangeOne, double * rangeTwo) : rangeOne(rangeOne), rangeTwo(rangeTwo) {}

Но, пожалуйста, сделайте себе большое одолжение и используйте эту ошибку, чтобы узнать, как использовать отладчик. Это не будет последней ошибкой, с которой вы столкнетесь в своей жизни.

2

Другие решения

Выясните точку исключения, где оно наступает, пошагово шагая к F10, и проверьте, на каком шаге наступает исключение.

1

Похожие вопросы
Добавить ответ
Для оформления сообщений Вы можете использовать следующие тэги:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Нажимая кнопку «Отправить», я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности этого сайта.