如何允许通配符模板参数

时间:2018-09-08 21:35:33

标签: c++ templates matrix

我目前正在编写一个矩阵类,该类可以通过模板支持任何数量的行和列。我一直坚持如何防止无效操作(即矩阵1的列数≠矩阵2的行数)。我当然可以存储行数和列数,并在运行时进行检查,但最佳情况下,我想在编译时通过“通配符”模板参数进行此检查。

换句话说...

我想这样做:

y

代替此:

template <typename T, int R, int C>
struct mat {

    T matrix[R][C];

    void operator *=(const mat<T, C, [can be anything]> &other) {
        /* do operation */
    }

};

这可能吗?如果是这样,我该怎么办?

2 个答案:

答案 0 :(得分:4)

这对我有用

add_action( 'woocommerce_after_add_to_cart_button', 'content_after_addtocart_button_func' );

function content_after_addtocart_button_func() {
    // Echo content.
    echo '<br slyle="clear:both;"><div  style="font-size:10px;"><em>(*Contact us for bulk purchase enquiry)</em></div>';
}

答案 1 :(得分:-3)

定义模板《 int K》 mat《 T,R,K》&运算符*(const mat《 T,C,K》及其他)..