string i;
cin >> i;
for (a = 0; a < i.length; a++) // 編譯錯誤:'length' 非成員變量
b = b + a;
for (a = 0; a < i.length(); a++) // 加括號調用方法
b = b + a;
std::string 沒有公開的 length 數據成員,只有 size() 和 length() 兩個**成員函數**,功能完全等價,返回 size_t。size()(與 STL 容器一致),但 length() 為了兼容 C 風格習慣保留。for (char c : i) { /* 處理 c */ }void main() 非標準,請用 int main() 並 return 0;。cout.setf(ios::hex) 影響後續輸出格式,注意配對 unsetf。b = b + a 只是累加索引,非字符值轉換;若要解析十六進制字符串,請用 stoul(str, nullptr, 16)。核心修正:**i.length() 加括號**即可通過編譯。