gpt4 book ai didi

c++ - 为什么这不能在我的学校 unix 系统上编译?

转载 作者:行者123 更新时间:2023-11-27 22:53:18 24 4
gpt4 key购买 nike

<分区>

我完成了一项在家里用我的编译器运行良好的作业,但是当我将它上传到学校的 linux 系统时我无法编译它。

这是我遇到的错误:

Set.cpp: In destructor ‘Set::~Set()’:
Set.cpp:42:1: error: a function-definition is not allowed here before ‘{’ token
Set.cpp:55:1: error: a function-definition is not allowed here before ‘{’ token
Set.cpp:67:1: error: a function-definition is not allowed here before ‘{’ token
Set.cpp:193:1: error: expected ‘}’ at end of input

我不太确定这里发生了什么,但我的程序在代码块中编译得很好。

#include "Set.h"
Set::Set()
{
int i;
for(i = 0; i <= 3; i++)
bitString[i] = 0;
}


Set::Set(const Set& s)
{
}



Set::~Set()
{






//Functions for modifying the sets individually:





void Set::add(int i)
{
unsigned int mask;
int bit, word;

word = i / 32;
bit = i % 32;
mask = 1 << bit;
bitString[word] |= mask;
}



void Set::remove(int i)
{
unsigned int mask;
int bit, word;

word = i / 32;
mask = (1 << (i % 32)) ;
bitString[word] &= ~(mask);
}



int Set::size()
{
unsigned size = 0;

for (unsigned i = 0; i <= 3; ++i)
{
for (unsigned x = 0; x < 32; ++x)
{
if (bitString[i] & (1 << x))
++size;
}
}
cout << "Size of this set is: " << size << endl;
return size;
}



int Set::is_member(int i)

{
int bit, word;

word = i / 32;
bit = i % 32;

if((bitString[word] >> bit) & 1)
return 1;
else
return 0;
}







//Operators Defined here:








void Set::operator=(const Set& s)
{
int bits;
for (bits = 0; bits <= 3; bits++)
{
bitString[bits] = s.bitString[bits];
}
}

Set Set::operator-(const Set& s)
{
Set result;
int x;

for (x = 0; x <= 3; x++)
{
result.bitString[x] = (bitString[x] & ~s.bitString[x]);
}
return result;
}

Set Set::operator&(const Set& s)
{
Set result;
int x;

for (x = 0; x <= 3; x++)
{
result.bitString[x] = (bitString[x] & s.bitString[x]);
}
return result;
}



Set Set::operator|(const Set& s)
{
Set result;
int x;

for (x = 0; x <= 3; x++)
{
result.bitString[x] = (bitString[x] | s.bitString[x]);
}

return result;
}


// XOR
Set Set::operator^(const Set& s)
{
Set result;
int x;

for (x = 0; x <= 3; x++)
{
result.bitString[x] = (bitString[x] ^ s.bitString[x]);
}
return result;
}



// Print Result
void Set::printSet()

{
unsigned size = 0;

cout << "Set: { \b";
for (unsigned i = 0; i <= 3; ++i)
{
for (unsigned x = 0; x < 32; ++x)
{
if (bitString[i] & (1 << x))
cout << (x + (i * 32)) << ",";
}
}
cout << "\b}" << endl;
}

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