Topcoder の greed で std::data との衝突を回避する方法
greed ではテストケースの情報を data という変数に格納していますが、これは C++17 から追加された std::data という関数と衝突してしまってコンパイルが通りません。 次のように変えることで衝突を防げます。
// template class ${ClassName} { public: ${Method.ReturnType} ${Method.Name}(${Method.Params}) { return ${Method.ReturnType;zeroval}; } }; ${CutBegin} namespace test_code { ${<TestCode} } int main() { char *argv[1]; test_code::main(0, argv); } ${CutEnd}
適当な namespace に退避させてあげれば ok です。