6 Answers
6

As of what happens if someone send BTC from a BTC wallet to BCC wallet address, the transactions go through.
But you can only see that transaction in the Bitcoin Blockchain rather than Bitcoin cash blockchain.
I will explain with an example.

Say there is an address named "abc" in BTC and another address named "def" in BCC.

abc has 1 BTC (Bitcoin Network)
def has 0 BCC (Bitcoin Cash Network)

If a person by mistake (or for fun) sends 1 BTC from abc to def. Then the balance changes as follows:

So, if the owner of def in BCC has the private key of that address, he can access the BTC in def as well.

But if he unfortunately does not hold the private key of that BCC address (like it can be of an exchange where you don't have access to the private key), then the BTC cannot be accessed by the owner of the BCC address.

If you have a wallet with the private's keys or the HD (12 words) you can restore them on a BTC wallet and the bitcoin will be there. The only case it doesn't work is with an exchange that doesn't support it.
– ZyoJul 20 '18 at 2:17

There is nothing which distinguishes a BCC address from a BTC address; they are both the same format and refer the the same keys, thus a BCC address is a BTC address and vice versa. This means that if someone sends BTC to an address that you created with a BCC wallet, the person who owns that BCC wallet would receive BTC. It won't appear in his BCC wallet, but if he has the same private keys on a BTC wallet, he would receive the coins there and be able to spend it.

As long as both chains adhere to the same address format, which I believe they do for now, there is no such thing as a BTC or a BCC address -- both are valid on both chains. What enables you to split your coins is the replay protection BCC implemented. It makes a BCC transaction invalid under BTC rules and vice versa.

BTW, Ethereum faced similar problems after the Ethereum Classic split. Before they implemented replay protection on a protocol level, people used specialized smart contracts to split coins. This would be hardly possible with Bitcoin scripting.

If you have the private key for the Bitcoin Cash address, you can import that private key into a Bitcoin wallet and be able to spend the Bitcoin.

If you do not have access to the private key for the Bitcoin Cash address then you must contact the person who does and ask them if they can import the private key into a Bitcoin wallet and send you the Bitcoin back.

Note that if it is a service that you accidentally sent the Bitcoin to that it is you may not be able to recover the coins. This is because the service may not necessarily be able to get the private key to import to a Bitcoin wallet. Since this is inherently a manual process, they may not be able to perform it for you.

If you do not have the private key for the Bitcoin Cash address and the person who does is unable or unwilling to recover the coins for you, then the coins are lost and there is nothing that you can do about it. The only people who can spend those coins are those that have the private key.

Thank you for your interest in this question.
Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).