ここに狂っていますか?この機能では三項演算子は左辺のオペランドに左辺のオペランドが必要です。
GSM_text_s *text_travers_find(const char* filename){
//linked list traversal logic for finding and returning the desired node
text_tmp = text_head;
bool name;
if(text_tmp){
(strcmp(filename, text_tmp->filename)) ? name = false : name = true;
while((!(name)) && (text_tmp->next)){
text_tmp = text_tmp->next;
}
} else {
return text_tmp;
}
return text_tmp;
}
EDIT「を割り付けエラーの左オペランドとして必要な左辺値」を投げている:私は間違って三項演算子を使用していたよう指示します。
それは次のようになります。これは明らかになります
(strcmp(filename, text_tmp->filename)) ? (!name) : name;
:私は答えたされているこの記事の過程で発見された作品
name = (strcmp(filename, text_tmp->filename)) ? false : true;
別の解決策、名前の値ではなく、単純にあります名前が目的のデフォルト値に設定されている場合にのみ機能します。
皆さん、ありがとうございます、あなたの答えは、アップアップされました!
使用...カッコ –
追記のような、それ以外の割り当てを移動する必要がありますので、それは本当にただ表現です; '。 – user694733
...これらの文字列が同じものを比較すると、nameはtrueと評価されます。それは本当に美しいです。私の中でそれを維持する@ user694733 :) – MedicineMan25