(no subject)
Еще смешнее:
zzz.h:
zzz.h:
... std::map
[Error: Irreparable invalid markup ('<const [...] const,>') in entry. Owner must fix manually. Raw contents below.]
Еще смешнее:
zzz.h:
<pre>...
std::map<const TdxDBTreeListColumn* const, double> Summaries;
...</pre>
zzz.cpp:
<pre>
bool inline __fastcall TfrmMasterMarketProRata::ColumnsSumTo100() const
{
std::map<const TdxDBTreeListColumn* const, double> S;
S[grdProrataMarkets->Columns[0]] = 0;
Summaries[grdProrataMarkets->Columns[0]] = 0;
...</pre>
Первая строчка без проблем, вторая -- с проблемой:
[C++ Error] MasterMarketProRataWnd.cpp(150): E2094 'operator+' not implemented in type 'map<const TdxDBTreeListColumn * const,double,less<const TdxDBTreeListColumn * const>,allocator<pair<const TdxDBTreeListColumn * const,double> > >' for arguments of type 'TdxDBTreeListColumn *'
zzz.h:
<pre>...
std::map<const TdxDBTreeListColumn* const, double> Summaries;
...</pre>
zzz.cpp:
<pre>
bool inline __fastcall TfrmMasterMarketProRata::ColumnsSumTo100() const
{
std::map<const TdxDBTreeListColumn* const, double> S;
S[grdProrataMarkets->Columns[0]] = 0;
Summaries[grdProrataMarkets->Columns[0]] = 0;
...</pre>
Первая строчка без проблем, вторая -- с проблемой:
[C++ Error] MasterMarketProRataWnd.cpp(150): E2094 'operator+' not implemented in type 'map<const TdxDBTreeListColumn * const,double,less<const TdxDBTreeListColumn * const>,allocator<pair<const TdxDBTreeListColumn * const,double> > >' for arguments of type 'TdxDBTreeListColumn *'
no subject
2) Проверь препроцессинг "cl /E zzz.cpp".
no subject
Разобрался.
Проблема была в том, что суммы по столбцам у меня доставались по индексу столбца, а столбцы, как оказалось, должны мочь меняться местами и, соответственно, индексами. Самое логичное -- создать мап и картировать сумму по пойнтеру на объект столбца. Но это не получается. По двум причинам -- во первых, не компилируется, во-вторых, оказалось, что не достается по пойнтеру, что-то там как-то не так.
Решилось по-другому: обнаружился евент OnColumnMove(int откуда, int куда). Полдня мучений и три строчки кода.
no subject
Я имел в виду просто запиустить и проверить что выходит после препроцессора. В самом проэкте ничего менять не надо конечно. Нет ли там какого-то #define Suumeries или чего-то совсем уж не того.
В случаях типа твоего вообще-то лучше всего образовать derived class и класть сумму туда. Или это тоже не разрешено? Кто у вас занят дизайном? Он вменяем?