I have the below bit of code:

```
map<int,int>& myMap = new map<int,int>();

```

but I get the following compiler error:

```
no suitable constructor exists to convert from "std::map<int,int, std::less<int>, std::allocator<std::pair<const int, int>>>*" to "std::map<int,int, std::less<int>, std::allocator<std::pair<const int, int>>>".

```

Does this mean I have to do:

```
map<int,int>& myMap = *new map<int,int>();

```

I thought that objects could passed to references without dereferencing first (as opposed to pointers)? Also I know smart pointers exist but I'm not trying to use those for now.