Cantor's theorem says, "Any map from $A$ to $2^A$ is non-surjective;" that is, for any $f:A\rightarrow\mathcal{P}(A)$, there is some $X\subseteq A$ such that $X\not\in ran(f)$. Specifically, we can take $X=\{a\in A: a\not\in f(a)\}$.
Before I explain why this works, let's see a couple examples to convince ourselves that it does work (or at least has a chance of working). For simplicity, let's look at $A=\{1,2\}$. Then here are a few examples of $f$s and the corresponding $X$s they generate:
$f$ sends $1$ to $\{1\}$ and $2$ to $\{2\}$. Then $X$ is $\emptyset$ (we always have $a\in f(a)$). And $X$ is not in the range of $f$: the only things $f$ "spits out" are $\{1\}$ and $\{2\}$, and neither of these is the empty set.
$f$ sends $1$ to $\{2\}$ and $2$ to $\{1\}$. Then $X=\{1,2\}$, and again $X\not\in ran(f)$.
$f$ sends $1$ to $\emptyset$ and $2$ to $\{1,2\}$. Then $X=\{1\}$: we have $1\not\in \emptyset=f(1)$, so $1\in X$, and $2\in\{1,2\}=f(2)$, so $2\not\in X$. And as expected, this $X$ is not in the range of this $f$ either.
The point is that no matter what $f:A\rightarrow\mathcal{P}(A)$ you pick, I'll always be able to find some subset of $A$ not in the range of $f$ - namely, the $X$ defined above.
So why does this work?
Well, to show $X\not\in ran(f)$ we need to show that, for each $Y\in ran(f)$, $X\not=Y$.
But this can be rephrased as: for every $a\in A$, $X\not=f(a)$.
Now think about how $X$ is defined. For any $a\in A$, we have $a\in X\iff a\not\in f(a)$. But this means that $X\not=f(a)$: two sets are equal only if they have the same elements, and $X$ and $f(a)$ disagree about $a$.