gpt4 book ai didi

C++ typedef 和模板

转载 作者:搜寻专家 更新时间:2023-10-31 00:44:30 24 4
gpt4 key购买 nike

假设有一个小类

template<class T1>
class c {
template<class T>
class Test {
public:
typedef std::vector<T> vetor_type;

vetor_type some_var;
};

void f() {
Test<int>::vetor_type tt; //error
}
};

我得到一个错误:

Expected ';' after expression.

编辑:我不知道为什么关于类型名的答案被删除了,因为它确实有帮助。但是如果我在另一个类模板中编写这段代码,有人可以解释为什么我必须使用 typename 吗?

最佳答案

Test<T>取决于用于实例化的类型 c<T1>所以你需要使用 typenamefoo()内定义.

void f() {
typename Test<int>::vetor_type tt;
}

关于C++ typedef 和模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8555711/

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