gpt4 book ai didi

c++ - c++ 中 std::fixed、std::scientific 等的正确类型是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:35:26 25 4
gpt4 key购买 nike

我正在尝试将 std::fixedstd::scientific 等放入变量中,但不知道如何操作。我正在尝试这段代码,但它不起作用:

typedef std::vector<std::ios_base> FlagArray;

int main() {
FlagArray tmp1 = { std::fixed, std::scientific };
FlagArray tmp2 = { std::internal, std::right, std::left };
FlagArray tmp3 = { std::uppercase, std::showbase, std::showpoint, std::showpos };
return 0;
}

最佳答案

这些操纵器的类型是 std::ios_base &(std::ios_base &str) .它们是函数。

这意味着,你需要使用std::vector<std::ios_base &(*)(std::ios_base &str)> FlagArray; .


您的代码应如下所示:

#include <iostream>
#include <vector>
#include <ios>

typedef std::vector<std::ios_base &(*)(std::ios_base &str)> FlagArray;

int main() {
FlagArray tmp1 = {std::fixed,std::scientific};
FlagArray tmp2 = {std::internal,std::right,std::left};
FlagArray tmp3 = {std::uppercase,std::showbase,std::showpoint,std::showpos};
return 0;
}

关于c++ - c++ 中 std::fixed、std::scientific 等的正确类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33855203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com