4

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?

Kevin
  • 1,179
  • 7
  • 18

0 Answers0