小编Ant*_*ier的帖子

模板化类的 C++ 转换

我有一个关于模板的问题。我想要一个模板化的类,它包含一个浮点数或双精度数的数组。

我可以编写一个复制它的 clone() 函数。没问题。但是,我想要另一个名为 cast() 的函数,它可以在 double 和 float 之间来回转换。之前已经讨论过这个问题,但我认为问题不一样:

stackoverflow.com/questions/714213/c-template-casting

我遇到的问题是编译器错误,而不是链接器错误。错误信息是:

main.cpp: In function `void caster()':
main.cpp:63: error: expected primary-expression before "double"
main.cpp:63: error: expected `;' before "double"
main.cpp:64: error: expected primary-expression before "float"
main.cpp:64: error: expected `;' before "float"
main.cpp:65: error: expected primary-expression before '>' token
main.cpp:65: error: expected primary-expression before ')' token
Run Code Online (Sandbox Code Playgroud)

我转储了下面的代码。第 63、64 和 65 行是我用“此处出错”注释的地方。

顺便说一下,我的编译器是“GNU C++ version 3.4.5 20051201 (Red Hat 3.4.5-2) (x86_64-redhat-linux) 由 GNU C version 3.4.5 20051201 (Red Hat 3.4.5-2) 编译” . …

c++ gcc templates casting

2
推荐指数
1
解决办法
3486
查看次数

标签 统计

c++ ×1

casting ×1

gcc ×1

templates ×1