我正在研究一个简单的向量程序作为一个赋值,但我无法弄清楚程序断言的原因.我的程序编译成功,但在运行时失败.我认为即时通讯在这方面的专业知识.
#include <iostream>
#include <cstring>
#include <assert.h>
#include <stdio.h>
#include <iomanip>
#define TESTING
using namespace std;
typedef float Elem;//floats for vector elements
struct Vector{//structure for the vector
unsigned int size;
Elem *svector;
};
int main(){
#ifdef TESTING
//prototypes
Vector *alloc_vec();
bool print_vec(Vector *printVector);
Vector *extend_vec(Vector *extend,Elem element);
Vector *scalar_plus(Vector *vecToAdd, Elem addElement);
void dealloc_vec(Vector *&deAlloc);
//testing scaffolds
Vector *testVec=new Vector;
*testVec=*alloc_vec();
assert(testVec->size==0);
assert(testVec->svector==NULL);
for(int i=0;i=10;i++){
*testVec=*extend_vec(testVec,Elem(i));
}
assert(testVec->size!=0);
assert(testVec->svector!=NULL);
assert(print_vec(testVec));
print_vec(testVec);
*testVec=*scalar_plus(testVec,5);
print_vec(testVec);
dealloc_vec(testVec);
assert(testVec==NULL);
#endif //testing
return 0;
} …Run Code Online (Sandbox Code Playgroud)