gpt4 book ai didi

c++ - 默认参数值错误 [Visual C++ 2008 中的错误?]

转载 作者:太空狗 更新时间:2023-10-29 23:07:09 26 4
gpt4 key购买 nike

我在尝试在我的代码中使用模板时遇到以下问题

我有一些从 C 函数调用的 C++ 代码。

问题是我在以下语句 1 和 2 的代码中得到了不同的值。

Type id : unsigned int
statement 1 : 4
statement 2 : 1

C++ 代码:

template <typename T>
void func(T* value, unsigned int len = sizeof(T)) {
cout << "Type id : " << typeid(T).name() << endl;
cout << "statement 1 " << sizeof(T) << endl;
cout << "statement 2 " << len << endl;
}

template <typename T>
void func1(T data) {
T val = data;
func(&val);
}


void test(void *ptr, unsigned int len) {
switch(len) {
case 1:
func1(*(static_cast<uint32_t *>(ptr))
break;
}
}

这只发生在 Windows 上。在 Linux 上运行良好。

最佳答案

我得到 4,4。您可能需要安装 SP

关于c++ - 默认参数值错误 [Visual C++ 2008 中的错误?],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13490822/

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