我遇到关注链接器错误
无法解析的外部符号“ class std :: basic_ostream> std :: cout” (?cout @ std @@ 3V?$ basic_ostream @ DU?$ char_traits @ D @ std @@@@ 1 @ A)“
当使用Visual stidio 2017和Visual Studio 2019尝试将std :: cout分配给静态constexpr std :: stream时。但是,使用gcc时不会遇到问题。
以下简单的测试代码可能表明存在此问题
#include <iostream>
int main()
{
static constexpr std::ostream* fp = &std::cout;
*fp << "Hello World!\n";
}
两者的表达
constexpr std::ostream* fp = &std::cout;
或
static std::ostream* fp = &std::cout;
确定可以。
我的问题是:
是
static constexpr std::ostream* fp = &std::cout;
合法表达。如果没有,为什么?
非常感谢。