<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
Mě na tom nepřijde nic špatného, tedy za předpokladu, že je jisté,
že se to nestane později zdrojem problémů, zejména ohledně délky
struktury. Aneb jestli je to interní záležitost, tak je to jedno,
ale když se to pak třeba někam pošle, nebudou data jednotlivých
uživatelů kompatibilní.<br>
<br>
PH<br>
<br>
<div class="moz-cite-prefix">Dne 07.05.2024 v 18:02 Martin Záruba
napsal(a):<br>
</div>
<blockquote type="cite"
cite="mid:dc0e3d33-9d1d-4168-9a58-74d22f006cbc@volny.cz">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<p>Mám soubor, třeba muj.h ve kterém je deklarovaná struktura x,
třeba</p>
<div
style="color: #4e5b61;background-color: #ffffff;font-family: Consolas, 'Courier New', monospace;font-weight: normal;font-size: 14px;line-height: 19px;white-space: pre;"><div><span
style="color: #00979d;">struct</span><span style="color: #4e5b61;"> </span><span
style="color: #434f54;">{</span></div><div><span
style="color: #4e5b61;"> </span><span style="color: #00979d;">int</span><span
style="color: #4e5b61;"> a;</span></div><div><span
style="color: #4e5b61;"> int b;
</span></div><span style="color: #434f54;">}</span><span
style="color: #4e5b61;"> x;</span></div>
<p>Soubor je pomocí include vložen do hlavního programu. A já bych
potřeboval, aby uživatel, který použije #include muj.h mohl do
té struktury vložit další prvky, takže struktura by se o tyto
prvky (které v ní nejsou definované) rozšířila. Vymyslel jsem
toto:</p>
<div
style="color: #4e5b61;background-color: #ffffff;font-family: Consolas, 'Courier New', monospace;font-weight: normal;font-size: 14px;line-height: 19px;white-space: pre;"><div><span
style="color: #00979d;">struct</span><span style="color: #4e5b61;"> stru </span><span
style="color: #434f54;">{</span></div><div><span
style="color: #4e5b61;"> </span><span style="color: #00979d;">int</span><span
style="color: #4e5b61;"> a;</span></div><div><span
style="color: #4e5b61;"> int b;
</span></div><div><span style="color: #728e00;">#ifdef</span><span
style="color: #4e5b61;"> </span><span style="color: #d35400;">user</span></div><div><span
style="color: #4e5b61;"> user</span></div><div><span
style="color: #728e00;">#endif</span><span style="color: #4e5b61;"> </span></div><div><span
style="color: #434f54;">}</span><span style="color: #4e5b61;">;</span></div></div>
<p>A v uživatelském programu použít</p>
<div
style="color: #4e5b61;background-color: #ffffff;font-family: Consolas, 'Courier New', monospace;font-weight: normal;font-size: 14px;line-height: 19px;white-space: pre;"><div><span
style="color: #728e00;">#define</span><span
style="color: #4e5b61;"> </span><span style="color: #d35400;">user</span><span
style="color: #4e5b61;"> </span><span style="color: #005c5f;">\</span></div><div><span
style="color: #4e5b61;"> </span><span
style="color: #00979d;">int</span><span style="color: #4e5b61;"> c; </span><span
style="color: #005c5f;">\</span></div><div><span
style="color: #4e5b61;"> </span><span
style="color: #00979d;">int</span><span style="color: #4e5b61;"> d;</span></div>
</div>
<p>Asi to vypadá jako divný požadavek, ale mě jde o to, aby
struktura x byl jeden prvek, který obsahuje jak mé, tak
uživatelem vytvořené členy.<br>
</p>
<p>Je na tom něco v nepořádku nebo to lze udělat líp?<br>
</p>
</blockquote>
</body>
</html>