I have the following in a header (after some preprocessing to allow the header to compile in both C++ and C++/CLI):
namespace Fci
{
public enum class Key
{
...
Alt,
...
};
...
/// <summary>
/// ...
/// </summary>
/// <remarks>
/// <para>
/// ... For instance, if <see cref="Fci::Key::Alt"/> is queried ...
/// </para>
/// </remarks>
[System::Flags] public enum class KeyStates
{
...
The project builds the code fine but all the C++/CLI sources that include this header get this:
warning C4638: XML document comment applied to 'Fci.KeyStates': reference to unknown symbol 'Fci::Key::Alt'.
I've tried appending F:
, I've tried the absolute ::Fci::Key::Alt
, I've tried dots instead of C++ scope separators, and a few other things. Nothing seems to work.
I realize forwards referencing XML can be very problematic in C++/CLI, but this isn't even a forwards reference.
Is it even possible to reference enum constants in XML documentation comments, and in particular from C++/CLI? ECMA-372 doesn't really mention this either way.
If it is possible, what am I doing wrong?