Intellisense detects a false positive on an ambiguous namespace.
The following code doesn't cause any compilation errors, and is not detected by intellisense if Resharper is disabled but the Intellisense of Resharper detects an ambiguous symbol 'internal'.
SimpleLayer.hpp
```
#pragma once
namespace snn::internal
{
template <class T>
class SimpleLayer
{
public:
SimpleLayer();
};
```
#pragma once
namespace snn::internal
{
template <class T>
class SimpleLayer
{
public:
SimpleLayer();
};
#include "SimpleLayer.tpp" // Comment this line remove the intellisense error on SimpleLayer.cpp
}
```
SimpleLayer.cpp
```
#include "SimpleLayer.hpp"
using namespace snn;
using namespace internal; // ambiguous symbol 'internal'
```
Simplelayer.tpp
```
template <class T>
SimpleLayer<T>::SimpleLayer()
{
}
```

In addition to this error, a new weird thing is that if I turn on the option to use the Intellisense of Visual Studio or the Intellisense of Resharper that doesn't change anything, the error disappears only if I turn off completely Resharper.
P.-S. This is the original post that I made for Visual Studio https://developercommunity.visualstudio.com/content/problem/1187748/ambiguous-symbol-for-namespace-when-using-tpp-temp.html
Please sign in to leave a comment.
Thanks for a short sample! This will be fixed in 2020.3 EAP 2.
Thank you very much, this bug annoys me for a long time :)
Sorry, I missed the second part of the most. The IntelliSense | General options page only controls whether to use completion and parameter info from VS or ReSharper.