vector из STL
От: ahaos  
Дата: 03.08.11 09:08
Оценка:
В Visual Studio 2010 постоянно вылетает программа, а именно процедура test при ее вызове.
Привожу упрощенную версию кода, которая не работает.

Заголовочный файл.

--------------------------------------------------------------------------------------------------------------
// MathEx.h: interface for the CMathEx class.
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_MATHEX_H__4CFB3359_285A_401F_879A_11622C0BB3A9__INCLUDED_)
#define AFX_MATHEX_H__4CFB3359_285A_401F_879A_11622C0BB3A9__INCLUDED_

#include "math.h"


class CLASS_DECLSPEC CMathEx
{
public:
CMathEx();
virtual ~CMathEx();

public:
static vector<int> test();
};

#endif // !defined(AFX_MATHEX_H__4CFB3359_285A_401F_879A_11622C0BB3A9__INCLUDED_)
--------------------------------------------------------------------------------------------------------------




Реализация класса.


--------------------------------------------------------------------------------------------------------------
// MathEx.cpp: implementation of the CMathEx class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "MathEx.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CMathEx::CMathEx()
{

}


CMathEx::~CMathEx()
{

}

vector<int> CMathEx::test()
{
vector<int> res;
res.resize(2);
return res;
}
--------------------------------------------------------------------------------------------------------------



Вызов процедуры test из основной программы.


CMathEx::test();


После выполнения return в функции test программа вылетает. В предыдущих версиях VS это прекрасно работало. В чем может быть дело.

Ясно, что в реальности в процедуре test вектор res заполняется полезными данными и должен быть возвращен вызывающей программе.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.