首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

二维向量怎样用size()啊该如何处理

2013-04-21 
二维向量怎样用size()啊其实我想重载二维向量的乘法运算符vector vectorint operator * (const vecto

二维向量怎样用size()啊
其实我想重载二维向量的乘法运算符

vector< vector<int> > operator * (const vector<vector<int>>&A , const vector< vector <int>> &B);
{
int m =A.size();
int n = B.size();
int p = B[0].size();
vector<vector<int>>C(m);

for(int i =1; i < m; ++i)
{
C[i].resize(p);
for(int j =1; i < n; ++j)
{
for(int k =1; i < p; ++k)
{
C[m][p] += A[m][b] * B[n][p];
}
}
}
}

主要的问题是int m =A.size(); 这句提示A是未定义的标识符,菜鸟求解
[解决办法]
那是因为有其他错误,把所有代码都贴出来吧
[解决办法]
建议你用typedef简化代码

typedef vector< vector<int> > DoubleIntVector;

[解决办法]
//在堆中开辟一个4×5的二维int数组
#include <stdio.h>
#include <malloc.h>
int **p;
int i,j;
void main() {
    p=(int **)malloc(4*sizeof(int *));
    if (NULL==p) return;
    for (i=0;i<4;i++) {
        p[i]=(int *)malloc(5*sizeof(int));
        if (NULL==p[i]) return;
    }
    for (i=0;i<4;i++) {
        for (j=0;j<5;j++) {
            p[i][j]=i*5+j;
        }
    }
    for (i=0;i<4;i++) {
        for (j=0;j<5;j++) {
            printf(" %2d",p[i][j]);
        }
        printf("\n");
    }
    for (i=0;i<4;i++) {
        free(p[i]);
    }
    free(p);
}
//  0  1  2  3  4
//  5  6  7  8  9
// 10 11 12 13 14
// 15 16 17 18 19

热点排行