//Distance.hpp
constexpr unsigned char mm2cm = 10;
template
struct Distance{
int mm;
int convToCm() const { return offset + mm2cm * mm; }
};
//Main.cpp
#include "Distance.hpp"
#include
int main(){
//I do not want to be able to use mm2mm outside Distance.hpp, as follows
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/79196113/how-to-make-a-variable-hidden-in-a-header-file[/url]
[list] [*]У меня есть шаблонная структура Distance, в которой используется constexpr unsigned char mm2cm = 10 [*]Поскольку Distance равен класс шаблона, я должен определить мм2см и расстояние в файле заголовка. [*]Этот файл заголовка включен в файлы cpp. [*]Я хочу, чтобы мм2см было видно только в этом заголовке файл, а не в файлах cpp, которые включают этот заголовок, т.е. [/list] [code]//Distance.hpp
constexpr unsigned char mm2cm = 10;
template struct Distance{ int mm; int convToCm() const { return offset + mm2cm * mm; } };
//Main.cpp #include "Distance.hpp" #include
int main(){ //I do not want to be able to use mm2mm outside Distance.hpp, as follows std::cout