I'm running on a std::bad_alloc error. As far as I know and as I've seen researching on StackOverflow this can be caused by a lack of the necessary memory to perform an action or because there's some kind of corrupted datastructure (as explained here).
In my case, I've got a class A which contains an attribute std::vector<std::vector<unsigned int> > tiles. There's no error when this container is created in this way in A.h:
class A
{
    public:
        //function prototypes
        std::vector<std::vector<unsigned int> > GetTiles();
    protected:
    private:
        std::vector<std::vector<unsigned int> > tiles; //declaration
};
Additionnaly i've writen the prototype of a function GetTiles which is in charge of returning tiles. This is done in A.cpp with the following code:
std::vector<std::vector<unsigned int> > A::GetTiles()
{
    return tiles;
}
In a precise moment another class B intends to get the tiles container using GetTiles like this (B.cpp):
std::vector<std::vector<unsigned int> > aux;
aux=InstanceofA->GetTiles();                  
At that precise moment, after the call to GetTiles(), I get the following error:
terminate called after throwing an instance of std::bad_alloc
Therefore, it points out to an error when trying to allocate memory for the aux container. 
I've tried to make a bit of printf debugging by placing a printf() call in the GetTiles() function:
std::vector<std::vector<unsigned int> > A::GetTiles()
{
    printf("%i\n",tiles.size);
    return tiles;
}
Then, before crashing, the program shows a weird result on the console line: -1524170727.
Before all this code there's nothing that might affect the tiles container and the other vectors declared in A.h behave normally and have 0 size after being created as everyone (as far as I understand) expects. I've also tried to place tiles.clear() call in the constructor of class A but it does nothing.
EDIT: I've also tried returning other containers in the GetTiles() function and it works. Additionally I've also tried calling the function without assigning it's returned value to any container, only:
InstanceofA->GetTiles()
And it also works, so the problem shouldn't be in the returned copy, but in the assignement of it to the aux container. I guess the error turns around the weird size of tiles.
I had never seen that before and I haven't found anything in Google. I'll appreciate any help you could give me. Thanks a lot. I apologize if there's any presentation mistake, it's only the second time I've posted something on SO.