- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个派生自模板类的类:
template
class TemplatedClass {
};
class Hello : public TemplatedClass
{
};
现在,我想制作一个模板化类,它将从 Xin chào
中推断出类型 int,float .
我以为我可以做这样的事情,但它不起作用:
template class C>
class Check
{
void Foo(A,B,C)
{
// A is int .. B is float .. C is Hello
}
};
int _tmain(int argc, _TCHAR* argv[])
{
Check a;
}
我该怎么做?
biên tập:
我想传递类 Xin chào 并让模板推断其子类 TemplatedClass 使用的类型。
所以,当我创建一个类时 Check
它将获得类型 int 和 float
我真的无法更改 TemplatedClass 以包含 typedef(它来自外部 .lib)
biên tập:
我已将模板更改为使用 Lớp học ,但我收到此错误:
错误 C3200:“你好”:模板参数“C”的无效模板参数,需要一个类模板
câu trả lời hay nhất
首先,将 tên kiểu chữ
更改为 lớp học
,§14.1 [temp.param] p1
:
type-parameter:
- lớp học identifieropt
- lớp học identifieropt = type-id
- tên kiểu chữ identifieropt
- tên kiểu chữ identifieropt = type-id
- template <template-parameter-list > lớp học identifieropt
- template <template-parameter-list > lớp học identifieropt = id-expression
接下来,进行偏特化:
mẫu
class Check;
template< // not 'typename' vvvvv
template class C,
typename A, typename B
>
struct Check<> >{
// ...
};
尽管如此,您仍然不能只将 Xin chào
传递给模板,因为即使 Xin chào
派生自 TemplatedClass
,类型转换也不是允许用于模板参数:
Check c; // nope, 'Hello' is not a template
您可以将以下 typedef 添加到 Xin chào
类中:
class Hello
: TemplatedClass
{
công cộng:
typedef TemplatedClass base_type;
};
然后做:
检查c;//好的但是 Kiểm tra
TRONG C
参数将是 template TemplatedClass
,而不是 Xin chào
。可悲的是,没有办法直接实现这一目标。一种解决方案是将派生类型作为额外的模板参数传递,或者仅将派生类型作为唯一参数传递并在内部进行类型提取:
mẫu
class CheckInternal;
template<
template class C,
typename A, typename B
>
class CheckInternal<> >{
công cộng:
typedef A type_A;
typedef B type_B;
};
mẫu
class Check{
typedef typename T::base_type T_base_type;
typedef typename CheckInternal::type_A type_A;
typedef typename CheckInternal::type_B type_B;
void foo(type_A a, type_B b){
// ...
}
};
// usage:
C c; // OK!
关于c++ - 在模板中推断子类模板类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6323255/
không gian tên std { mẫu <> lớp băm { công khai : size_t toán tử()( nhược điểm
Tôi đang xây dựng một ứng dụng Django với khả năng tương tác Javascript hạn chế và tôi đang tìm cách hợp nhất các mẫu Vue với các mẫu Django để đạt được điều tương tự. Hãy tưởng tượng một trang cuộn vô hạn trong đó SEO rất quan trọng
Tôi cần một lớp bên ngoài bao gồm logic trò chơi, gọi thành phần LitElement và chuyển cho nó một chữ mẫu html mà thành phần này sẽ sử dụng để cập nhật một phần chữ mẫu html của chính nó. Trong đoạn mã bên dưới, bạn sẽ thấy một trong các thành phần
Rất đơn giản, tôi không muốn xác định tất cả các mẫu Tay cầm trong tệp html mà tôi đã thử nhưng không được. Tôi có thể không xác định mẫu theo chương trình hay thậm chí chỉ tải tệp Tay cầm để tôi có thể sử dụng lại nó và tôi nghĩ
Trong mã này, j chính xác là một đối tượng: j.name, j.addr, j.city, j.state và j.zip. Tuy nhiên, hàm thành công có lỗi JavaScript.tmpl() không phải là hàm. {{t
Mẫu Django không hoạt động? Nhấp vào đây để tóm tắt cách truyền giá trị cú pháp mẫu, bộ lọc và bộ lọc tùy chỉnh, phân loại thẻ mẫu, cách giải quyết lỗi 403 của phần mềm trung gian và cách kế thừa mẫu ~ Cặp khóa-giá trị truyền giá trị back-end mẫu Django Mẫu: {'n
Xin chào mọi người, tôi là Shikakumaru\color{red}{Shikakumaru}Shikakumaru, và thứ tôi mang đến cho các bạn hôm nay là một mẫu C++. Nếu bạn có bất kỳ câu hỏi nào trong khi đọc blog hoặc học tập của tôi hoặc muốn giao tiếp với tôi, bạn có thể thêm tôi vào blog của tôi.
Tôi đang viết một lớp mẫu đơn giản bằng PHP nhưng tôi gặp một số khó khăn. Hiện tại đây là cách nó hoạt động: Đầu tiên tôi sử dụng Fetch_template để tải nội dung mẫu từ cơ sở dữ liệu - cách này hoạt động (nếu bạn quan tâm, tôi thu thập tất cả các mẫu khi khởi động
Tôi đang làm một hướng dẫn Django về các mẫu. Tôi hiện đang ở mã này: from django.template import Mẫu, Ngữ cảnh >>> user = {'name': '
Tôi đang sử dụng mẫu Jquery để hiển thị dữ liệu JSON đến và tôi muốn tải mẫu vào một tệp bên ngoài có thể lưu trong bộ nhớ đệm. Tôi nên làm gì? Cập nhật http://encosia.com/2010/12/02/jquery-templa
Đây là point.py của tôi: from django.http nhập HttpResponse từ django.template.loader nhập get_template từ
Tôi đang cố gắng thuyết phục một đồng nghiệp sử dụng Mustache/Hogan ở phần đầu của một dự án và tôi đã đưa ra đề xuất sau: Có một tệp templates.js trông gần giống như thế này: var tpl_alert = '{{msg} }';
Tôi muốn tạo một hàm mảng chung. Trong API của tôi, tôi có một vùng chứa chung mà tôi cần chuyển đổi thành đúng lớp, nhưng tôi muốn đặt nó làm mẫu chung void UT::printArray(CCArray* arr, T t
Có ai biết có cách nào tạo mẫu javascript trong Genshi không? Ý tôi là, tôi cần một tệp .js nơi tôi có thể sử dụng các lệnh như thế nào. vân vân. Có ý tưởng gì không? Cảm ơn bạn! Để có câu trả lời hay nhất, bạn có thể trực tiếp thêm câu này vào html
Tôi đang tự hỏi liệu có thể thiết lập một số loại hệ thống tạo khuôn mẫu HTML hay không, về cơ bản tôi có 3 tệp khác nhau: - header.html - footer.html - landing.html (landing.html là trang chứa
Tôi đang cố gắng xây dựng mẫu HTML sau: Điều này rất đơn giản, nếu tôi sử dụng các vùng chứa màu đỏ 1-4 thì cú pháp như sau: 1 2 3 4 5 6 7 8 9 https://jsfi
#include "boost/numeric/ublas/matrix.hpp" sử dụng không gian tên boost::numeric::ublas; lớp mẫu Lay
Tôi có một hàm trong một lớp truyền một hàm và các đối số của nó, sau đó liên kết chúng thành một lệnh gọi hàm và gọi hàm, v.v. Điều này đã nhanh chóng được tập hợp lại để kiểm tra một khái niệm mà tôi biết mã này không tốt lắm. Hồ sơ lớp {
Có cấu trúc hoặc mẫu c++ (trong bất kỳ thư viện nào) cho phép tôi chuyển đổi giữa số thập phân và bất kỳ cơ sở nào khác (giống như bitset có thể làm) không? Câu trả lời hay nhất là có, bạn có thể sử dụng unsigned int: unsigned int
Các vấn đề và giải pháp do kiểu dữ liệu trong lập trình gây ra int maxt(int, int); double maxt(double, double); Nếu có một placeholder T có thể thay thế kiểu, việc viết mã thừa có thể được đơn giản hóa
Tôi là một lập trình viên xuất sắc, rất giỏi!