No puedo entender el siguiente comportamiento: un encabezado con algunos tipos básicos y otro encabezado en el que utilizo estos tipos en varias funciones. Después comencé a construir clases basadas en mis tipos y funciones definidos. En el encabezado de la función, si dejo la siguiente firma:Vínculo de función en línea
void whateverFunction(parameters)
El enlazador señala que hay múltiples definiciones de cualquier función. Ahora si lo cambia a:
inline void whateverFunction(parameters)
el problema de conexión se ha ido y todas las compilaciones y enlaces funcionan bien. Lo que sé sobre inline es que reemplaza cada llamada de función con su código, excepto que es bastante oscuro, así que mi pregunta es:
¿Cómo trata el enlazador las funciones en línea en C++?
Ver ["¿cuál es/son los propósitos de inline?"] (Http://stackoverflow.com/questions/3647053/what-is-are-the-purposes-of-inline) para los detalles , especialmente la parte de la * Regla de una definición *. –