es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Doxygen: ¿Por qué el primer elemento de mi clase enum no se copia correctamente con copydoc?

Tengo el siguiente código:

“`C++
/**
* @brief Tipos de redimensionamiento del renderizador OpenGL
*/
enum class RescaleType {
None, //!< Sin redimensionamiento
Horizontal, //!< Redimensionamiento horizontal
Vertical, //!< Redimensionamiento vertical
Both //!< Redimensionamiento en ambas direcciones
};

/**
* @brief
*
* @param type Tipo de redimensionamiento a aplicar. Puede ser uno de los siguientes:
* – RescaleType::None @copydoc RescaleType::None
* – RescaleType::Horizontal @copydoc RescaleType::Horizontal
* – RescaleType::Vertical @copydoc RescaleType::Vertical
* – RescaleType::Both @copydoc RescaleType::Both
*/
void apply_rescale(RescaleType type);
“`

Cuando ejecuto Doxygen, todo funciona bien excepto el primer @copydoc.

¿Qué estoy haciendo mal aquí? Soy nuevo en el uso de Doxygen, así que tal vez el error es obvio.

Edición: Esto fue generado con Doxygen 1.9.2

Tags:  ,

Answer

  1. Avatar for davy.ai

    El problema aquí es que @copydoc se utiliza para copiar la documentación de otro miembro o función, pero en este caso se utiliza para copiar la documentación de un valor de enumeración (RescaleType::None, RescaleType::Horizontal, etc.). La sintaxis correcta para documentar los valores de enumeración es con el comando @var. Aquí tienes un ejemplo de cómo utilizarlo en tu código:

    “`C++
    /**
    * @brief Tipos de redimensionamiento del renderizador de OpenGL
    */
    enum class RescaleType {
    None, /< Sin redimensionamiento */
    Horizontal, /
    < Redimensionamiento horizontal */
    Vertical, /< Redimensionamiento vertical */
    Both /
    < Redimensionamiento en ambas direcciones */
    };

    /**
    * @brief Aplica el redimensionamiento al renderizador de OpenGL.
    *
    * @param type Tipo de redimensionamiento a aplicar.
    * – RescaleType::None Sin redimensionamiento
    * – RescaleType::Horizontal Redimensionamiento horizontal
    * – RescaleType::Vertical Redimensionamiento vertical
    * – RescaleType::Both Redimensionamiento en ambas direcciones
    */
    void apply_rescale(RescaleType type);
    “`

    Con esta sintaxis, Doxygen debería generar adecuadamente la documentación para los valores de la enumeración y los parámetros de la función.

Comments are closed.