Компоновщик ищет ::main
, а не ::somenamespace::main
.main
, который вызывается при запуске программы, должен находиться в глобальном пространстве имен.
@ Chubsdad имеет , указывающий вам на соответствующий язык в стандарте, который заявляет это ,Но стандарт теперь написан в странном «стандарте», который очень похож на юридический.Я чувствовал, что простое английское изложение того, что происходит, могло бы быть лучше.
Примечание: Есть причина, по которой стандарт написан таким образом.В стандарте вы хотите, чтобы каждый используемый вами термин имел очень точное и четко определенное значение, и вы не хотите, чтобы это значение варьировалось в зависимости от контекста, потому что это усложняет интерпретацию стандарта.На самом деле это очень похоже на причину, по которой юридический язык выглядит так.