How does the C++ keyword export help with template linker errors?
The C++ keyword export was originally designed to eliminate the need to include a template definition (either by providing the definition in the header file or by including the implementation file). However, only a few compilers ever supported this capability, such as Comeau C++ and Sun Studio, and the general concensus was that it was not worth the trouble. Because of that, the C++0x standardization committee has voted to remove the export feature from the language. Assuming this meets final approval, export will remain a reserved word but it will no longer have any meaning in the standard. If you are working with a compiler that supports the export keyword, it will probably continue to support the keyword via some sort of compiler option or extension until its users migrate away from it. If you already have code that uses export, you can use a fairly simple discipline to allow your code to easily migrate if/when your compiler stops supporting it entirely.