Русский English 中文
a a a

C++ 2019 May 2026

He had missed the const .

1>------ Build started: Project: Reconstructor, Configuration: Release x64 ------ 1>Reconstructor.cpp 1>Reconstructor.obj : error LNK2001: unresolved external symbol "private: virtual void __cdecl VoxelGrid::serialize(class Archive &)" (?serialize@VoxelGrid@@EEAAXAEAVArchive@@@Z) 1>C:\Dev\Reconstructor\x64\Release\Reconstructor.exe : fatal error LNK1120: 1 unresolved externals

void VoxelGrid::serialize(Archive& ar) { ar & width; ar & height; // ... more code } He checked the header ( VoxelGrid.h ): c++ 2019

Frustrated, he opened the and ran dumpbin /symbols VoxelGrid.obj .

Tomorrow, he would refactor it to C++20. He heard std::span was finally stable. But tonight, he had earned his sleep. He had missed the const

class VoxelGrid : public Serializable { public: virtual void serialize(Archive& ar) override; }; Everything looked perfect. No typos. No missing includes. The virtual keyword matched. The override was correct.

?serialize@VoxelGrid@@UEAAXAEAVArchive@@@Z (in the header's expectation) Tomorrow, he would refactor it to C++20

He closed Visual Studio, which took an unusually long time to shut down, as if it was reluctant to let him go. He leaned back, looked at the rain, and thought: I could have written this in Rust. But then who would keep the ghosts of C++ alive?